AI智能
改变未来

Shell笔记1-命令替换


命令替换

命令替换:将命令的输出结果作为值赋给某个变量

  1. `command`

    例:

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

    #cut--切割 -d 根据 -f 取第几列~$ cat /etc/passwd | cut -d \":\" -f 1
    #!/bin/bash#index=1for user in `cat /etc/passwd | cut -d \":\" -f 1`doecho \"This is $index user: $user\"index=$(($index + 1))done
  2. $(command)

    例:

    系统计算今年或明年时间

    ~$ date2020年 8月 8日 星期六 17时48分24秒 CST~$ date +%Y2020~$ echo \"This is $(date +%Y) year\"This is 2020 year#$()--命令替换  $(())--算数运算~$ echo \"This is $(($(date +%Y)+1)) year\"This is 2021 year
    #shell语法并不严谨~$ num1=90~$ num2=30~$ echo \"$((num1+num2))\"120~$ echo \"$(($num1+$num2))\"

    练习:

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

    #今年过了多少天~$ date +%j221#已经过了多少星期~$ echo \"This year have passed $(($(date +%j)/7))\"This year have passed 31#还有多少天和星期过新年~$ echo \"This is $((365-$(date +%j))) day before new year\"This is 144 day before new year~$ echo \"This is $(((365-$(date +%j))/7)) week before new year\"This is 20 week before new year

    (2)判断 nginx 进程是否启动,如果没启动,则启动

    #!bin/bash# 判断 ngnix进程是否启动,如果没有启动,则启动# grep -v grep 是过滤掉grep nginx这个进程# wc -l 是统计输出多少行nginx_process_num=$(ps -ef | grep nginx | grep -v grep | wc -l)if [ $nginx_process_num -eq 0 ]; thensystemctl start nginxfi

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » Shell笔记1-命令替换