sheel命令替换

语法格式
方法一`command`
方法二$(command)

例子一:获取系统的所有用户并输出

cat /etc/passwd
获取到当前服务器的所有用户,第一个冒号是用户名
注册名:口令:用户标识号:组标识号:用户名:用户主目录:命令解释程序
在这里插入图片描述
cut -d 指定分隔符
-f :取第几端
man cat :查看cat帮助文档
在这里插入图片描述

#!/bin/bash
#

index=1
for user in `cat /etc/passwd | cut -d ":" -f 1`
do
        echo "这是第 $index 个用户,他的名字是 $user"
        index=$(($index + 1))
done
#!/bin/bash
#

index=1
for user in $(cat /etc/passwd | cut -d ":" -f 1)
do
        echo "这是第 $index 个用户,他的名字是 $user"
        index=$(($index + 1))
done

在这里插入图片描述

根据系统时间计算今年或者明年

在这里插入图片描述

在这里插入图片描述

#!/bin/bash
#

echo "今年是$(date +%Y)年"
echo "明年是$(( $(date +%Y)+1  ))年"

在这里插入图片描述

例子三:根据系统时间获取今年还剩下多少个星期,已经过了多少星期

在这里插入图片描述

#!/bin/bash
#

echo "今年还剩$(( (365-$(date +%j))/7 ))周"
echo "今年已经过了$(( $(date +%j)/7 ))星期"

在这里插入图片描述

例子四:判定nginx进程是否存在,若不存在则自动拉起该进程

在这里插入图片描述

-v 显示不包含匹配的文本所有行
-c 只输出匹配的行的个数
-i 不区别大小写

在这里插入图片描述

wc -c filename:显示一个文件的字节数
wc -m filename:显示一个文件的字符数
wc -l filename:显示一个文件的行数
wc -L filename:显示一个文件中的最长行的长度
wc -w filename:显示一个文件的字数

#!/bin/bash
#

nginx_process_num=$(ps -ef | grep nginx | grep -v grep |wc -l)

echo $nginx_process_num

if [ $nginx_process_num -eq 0 ] ;then
        echo "执行到此"
        systemctl start nginx.service
fi

在这里插入图片描述

总结: ``和$()两者是等价的,易于掌握;缺点是极少的UNIX可能不支持,``是全部支持的
$(())主要用来进行整数运算,包括加减乘除,引用变量前可以加$,也可以不加
$(( (100+30) / 13 ))
num1=20; num2=30
$(($num1+$num2))
$((num1+num2))

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值