Linux & shell (二)

本文深入解析Linux Shell脚本的关键概念与实用技巧,包括时间戳获取、函数定义与调用、变量处理、条件判断、循环结构及文件操作等。通过具体示例,如字符串分割、用户shell查找,展示Shell脚本的强大功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Linux & shell (二)

  1. date +%s

    1. 时间戳 (1970-1-1-0-0-0 开始到现在的秒数)
  2. date ±%A

  3. 星期天

  4. functionname arg1 arg2;

  5. 函数

  6. $1 参数一

  7. $@ 所有参数分开显示

  8. $* 所有参数连在一起显示

  9. 获取函数返回值,在函数执行之后使用$?赋值即可

  10. 导出函数使其子进程也可以使用 export -f funtionName

  11. 子shell

cmd=$(cat a.txt)

cmd=`cat a.txt`

echo $cmd
  1. 终端输入

  2. read -n 2 value 仅仅读取2个字符

  3. read -p "tips" value 提示信息tips

  4. read -t 5 value 限时输入

  5. 字符串分割

    #!/bin/bash
    data="hello,my,name,is,primerKG"
    IFS=,  #使用IFS算法,将分割字符设置为 , 逗号 (IFS默认值是空白字符)
    
    for item in $data
    do
            echo items: $item
    done
    

    分割/etc/passwd,查找用户对应使用的shell

    #!/bin/bash
    # function: get user shell by IFS string cat
    
    data="root:x:0:0:root:/root:/bin/bash"
    IFS=:
    index=0
    
    for item in $data
    do
    #       echo $item;
            [ $index -eq 0 ] && user=$item;
            [ $index -eq 6 ] && shell=$item;
            let index++;
    done
    
    echo "$user used shell is $shell"
    
    echo "end"
    
    
    #知识点
    	# cmd1 && cmd2 当且仅当cmd1执行成功的时候才执行cmd2
    	# cmd1 || cmd2 不管cmd1是否执行成功,都要执行cmd2
    	# [] 条件判断,语句和方括号之间需要有一个空格
    	# let 进行算术逻辑运算
    	# IFS=: 设置分隔符符号
    
    
  6. 循环

  7. for item in list ; do ... done

  8. for((i = 0 ; i <10;i++)){}

  9. while condition do ... done

  10. until [condition]; do... done

  11. 比较

  12. if condition then ... else ... fi

  13. if condition then ... elif condition ... then... else... fi

  14. 字符串比较: 使用双中括号 [[ str1== str2 ]]

  15. 操作符

    -gt 大于
    -lt 小于
    -ge 大于等于
    -le 小于等于
    -eq 等于
    -a 逻辑与&&
    -o 逻辑或||
    -f 是否存在文件或路径 
    -x 是否文件可执行
    -d 是否是目录
    -e 是否文件存在
    -c 是否是字符文件
    -b 是否是设备文件
    -w 是否可写文件
    -r 是否可读文件
    -L 是否是符号链接
    
  16. cat拼接

  17. cat -n 输出行号

  18. 显示

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值