<span>Linux Shell命令总结</span>

一、变量

二、引用&命令替换

三、退出状态&逻辑判断

四、表达式


一、变量

  • 本地变量
    • 当前shell拥有 举个例子 $LANG = xxx 再次登录就没了,其他ssh连接也不能共享
    • 生命周期随shell
  • 局部变量
    • 只能local用于函数

本地局部变量演示:

  • 位置
    • $1,$2,${11}
    • 脚本中使用
    • 函数中使用
    • 传给前面的命令加‘ ’ 如 awk命令。不加单引号传给bash

位置变量演示:

位置变量示例1:(脚本中用两个位置 1、2来接受外部的两个参数)

位置变量示例2:(大括号“{}”括起来)

位置变量示例3:(函数中使用)

位置遍历示例4:(传给bash不加 ‘ ’ ,传给前面的命令加‘ ’)

  • 特殊

    • $#:位置参数个数
    • $*:参数列表,双引号引用为一个字符串
    • $@:参数列表,双引号引用为单独的字符串

    • $$:当前shell的PID:接收者
      • $BASHPID:真实
      • 管道 管道也是一个比较特殊的东西。使用管道左右两边会分别开启一个子bash

    • $?:上一个命令退出状态
      • 0:成功
      • other 非0:失败

  • 环境

    • export 环境变量中使用,原理就是将变量导出共享到任何子bash中执行。

    • 导入的父bash变量并非实时共享的

二、引用&命令替换

  • 引用:

    • 双引号:弱引用,参数扩展
    • 单引号:强引用,不可嵌套
    • 单双引号的区别:

    • 花括号扩展不能被引用

    • 命令执行前删除引用

  • 命令替换:

    • 反引号:`

    • $(ls -l /)

    • 可以嵌套

三、退出状态&逻辑判断

  • 退出状态

    • echo $? 0表示成功,非0表示失败。可以用在脚本里面进行逻辑判断。
  • 逻辑判断

    • command1 && command2 短路与
    • command1 || command2 短路或

四、表达式

  • 算术表达式

    • let 算术运算表达式
      • let C=$A+$B
    • $[算术表达式]
      • C =$[$A+$B]
    • $((算术表达式))
      • C=$(($A+$B))
      • C=$((A+B)) 内层$可以省略
      • ((A++)) 当某个值只改变不复制给其他变量,格式为去掉$
    • expr 算术表达式
      • 注意:表达式中各操作数及运算符之间要有空格。而且要使用命令引用
      • C=expr $A + $B
  • help let一定要打开看看里面的各种表达式表示

  • 演示:

  • 条件表达式

    • [ expression ]
    • test expression
    • [[ expression ]]
  • help test 可以判断文件/字符串 >、 < 号的问题,一定要打开查看下

  • 演示:

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务