shell编程(三): 命令替换

语法格式

方法一

`command`

方法二

$(command)

示例

获取系统所有用户名并输出

index=1
for user in `cat /etc/passwd | cut -d ":" -f 1`
do
	echo "This is $index user:$user"
    index=$(($index + 1)) # $后面跟上两个小括号就是算术运算
done

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

echo "This is $(date +%Y) year"
echo "This is $(($(date +%Y) + 1)) year"

根据系统时间获取今年还剩多少星期,已经过了多少星期

date +%j # 一年中的第多少天
echo "This year have passed $(($(date +%j)/7)) weeks"
echo "There is $(((365-$(date +%j))/7)) weeks before new year "

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

#!/bin/bash
nginx_process_num=$(ps -ef|grep nginx | grep -v grep | wc -l)
if [ $nginx_process_num -eq 0 ];then
	systemctl start nginx
fi

总结

  1. ``和() 是等价的,但是推荐初学者使用$(), 易于掌握,缺点是极少数unix可能不支持
  2. $(())主要用来进行整数运算,包括加减乘除,中间的数值可以加$ 也可以不加$
num1=20;num2=30
((num++))
((num--))
$(($num1+$num2)) 或者 $((num1+num2))
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值