Linux 常用shell脚本1-10

本文记录学习Linux Shell脚本的过程,有些脚本是参考大佬的教程,会在文章后面备注参考教程。

1. 模拟Linux 用户登录

#/bin/bash
echo -n "login:"
# 获取用户名
read name
echo -n "password:"
# 用户密码
read passwd
# 验证
if [ $name = "root" -a $passwd = "root" ]
then
     echo "the host and password is right!"
else echo "input is error!"
fi

结果展示

在这里插入图片描述

2. 比较两个数的大小

#/bin/bash
echo "please enter two number"
read num1
read num2
# 也可以用[ ]比较
if test $num1 -eq $num2
then
        echo "$num1 = $num2"
elif test $num1 -gt $num2
then
        echo "$num1 >$num2"
else
        echo "$num1 < $num2"
fi

结果展示在这里插入图片描述

3. 查找某个文件目录下是否存在该文件

#/bin/bash
echo "enter a file name:"
read a
# 判断在root目录下是否含有该文件
if test  -e /root/$a
then 
      echo "the file is exist!"
else 
      echo "the file is not exist!"
fi

结果展示
在这里插入图片描述

4. 判断当前用户是否正在使用(运行)

#/bin/bash
echo "Please enter a user:"
read user
# whoami命令行命令,当前用户是谁
# $()输出命令行命令的内容
b=$(whoami)
# [ ]
if test $user = $b
then
        echo "the user is running."
else
        echo "the user is not running."
fi

结果展示
在这里插入图片描述

5. 测试IP地址

#/bin/bash
for i in  1 2 3 4 5 6 7 8 9
do
    echo "the number of $i computer is "
    ping -c 1 192.168.0.$i
done

结果展示
在这里插入图片描述

6. 文件是否存在,不存在就新建

#/bin/bash
while :
do
    echo "please input file's name:"
    read a
    if test -e /root/$a
    then
         echo "the file is existing Please input new file name:"
    else
        mkdir $a
        echo "you aye sussesful!"
        break
    fi
done

结果展示

在这里插入图片描述

7. y/n 返回不同结果

#!/bin/bash
clear
echo "enter [y/n]:"
read a
case $a in
    y|Y|Yes|YES) echo "you enter $a"
    ;;
    n|N|NO|no) echo "you enter $a"
    ;;
    *) echo "error"
    ;;
esac

结果展示

在这里插入图片描述在这里插入图片描述

8. 内置命令的使用

$USER :当前用户
date :时间
who:显示当前登录系统的用户
uname -s :显示操作系统名称

#/bin/bash
    clear
        echo "Hello, $USER"
        echo
       
        echo "Today 's date id `date`"

        echo

        echo "the user is :"
        who
        echo

        echo "this is `uname -s`"
        echo

        echo "that's all folks! "

结果展示
在这里插入图片描述

9. 现在距离国庆节还有多久天

#!/bin/bash
# 今天是366天中的哪一天
TODAY=`date +%j`                 
NATINALDAY=`date -d 1-Oct +%j`   # Christmas day, in same format

echo "There are $(($NATIONALDAY - $TODAY)) days until National Day."

结果展示
在这里插入图片描述

10. 获取随机字符或数字

获取随机8位字符串

# 方法1:
echo $RANDOM |md5sum |cut -c 1-8
471b94f2
# 方法2:
openssl rand -base64 4
vg3BEg==
# 方法3:
cat /proc/sys/kernel/random/uuid |cut -c 1-8
ed9e032c

获取随机8位数字

# 方法1:
echo $RANDOM |cksum |cut -c 1-8
56648321
#方法2:
openssl rand -base64 4 |cksum |cut -c 1-8
78591131
#方法3:
date +%N |cut -c 1-8
20364815

参考文章

  1. https://www.jb51.net/article/54488.htm
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

nsq_ai

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值