参考

example

每次运行一个命令会返回一个 $? 变量,如果执行成功 $? = 0 ,不成则为 非0
运行脚本bash ping.sh 指定解释器bash 执行文件 ping.sh
which bash 返回 bash 的目录地址
which python 返回 python 的目录地址

  1. ping c1 www.baidu.com && echo "OK." || echo "not OK."
  2. 执行成功 OK 执行失败 not OK
  3. ping c1 www.baidu.com &>/dev/null && echo "OK." || echo "not OK."
  4. 不输出ping相关的信息

shebang(#!) 仅第一行生效

例如,以指令#!/bin/sh开头的文件,在不指定解释器执行时会实际调用 /bin/sh 程序

组合实例

  1. #!/bin/bash
  2. echo "Hello World !"
  3. # 命名使用变量
  4. your_name="qinjx"
  5. echo $your_name
  6. echo ${your_name}
  7. # 设置变量只读
  8. myUrl="https://www.google.com"
  9. readonly myUrl
  10. # 删除变量
  11. unset myUrl
  12. #
  13. for file in `ls /etc`
  14. for file in $(ls /etc)
  15. for skill in Ada Coffe Action Java; do
  16. echo "I am good at ${skill}Script"
  17. done
  18. # 字符串拼接
  19. your_name="runoob"
  20. # 使用双引号拼接
  21. greeting="hello, "$your_name" !"
  22. greeting_1="hello, ${your_name} !"
  23. echo $greeting $greeting_1
  24. # 使用单引号拼接
  25. greeting_2='hello, '$your_name' !'
  26. greeting_3='hello, ${your_name} !'
  27. echo $greeting_2 $greeting_3

计算

  1. #!/bin/bash
  2. a=10
  3. b=20
  4. val=`expr $a + $b`
  5. echo "a + b : $val"
  6. val=`expr $a - $b`
  7. echo "a - b : $val"
  8. val=`expr $a \* $b`
  9. echo "a * b : $val"
  10. val=`expr $b / $a`
  11. echo "b / a : $val"
  12. val=`expr $b % $a`
  13. echo "b % a : $val"
  14. if [ $a == $b ]
  15. then
  16. echo "a 等于 b"
  17. fi
  18. if [ $a != $b ]
  19. then
  20. echo "a 不等于 b"
  21. fi