Shell命令替换&有类型变量

命令替换:
方法一:`command`
方法二:$(command)
例子1:
获取系统所有用户并输出
#!/bin/sh
index=1
for user in `cat /etc/passwd | cut -d ":" -f 1`
do
        echo "This is $index user: $user"
        index=$(($index+1))
done例子2:
根据系统时间计算今年或明年
echo "This is $(($(date +%Y) + 1)) year"
date +"%Y-%m-%d %H:%M:%S"

例子3:
根据系统时间获取今年还剩多少个星期,已经过了多少个星期
echo $(($(date +%j)/7))            --已经过了多少个星期
echo $(((365-$(date +%j))/7))    --还剩多少个星期

例子4:
判断nginx进程是否存在,若不存在则自动拉起
#!/bin/sh
nginx=$(ps -ef|grep nginx|grep -v grep|wc -l)
if [ $nginx -eq 0 ];then
  systemctl start nginx
fi

总结:``和$()是等价的
        $(())主要用来进行整数计算,包括加减乘除
        $(((100+30)/13))


有类型变量总结:
1、declare -r    #声明变量为只读类型
2、declare -i    #声明变量类型为整型
3、declare -f    #在脚本中显示定义的函数和内容
4、declare -F    #在脚本中显示定义的函数
5、declare -a
    arrary=("jones" "mike" "kobe" "jordan")
    输出数组内容:
        echo ${arrary[@]}    输出全部内容
        echo ${arrary[1]}    输出下标索引为1的内容
    获取数组长度:
        echo ${#arrary}        数组内元素个数
        echo ${#arrary[2]}    数组内下标为索引为2的元素长度
    给数组某个下标赋值:
        arrary[0]="lily"
        arrary[20]="kobe"
    数组遍历:
        for v in ${arrary[@]}
        do
            echo $v
        done
6、declare -x    #声明为环境变量

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值