[Linux] Linux命令行与Shell脚本编程大全 Part.3

时间:2020-12-22 06:14:27

Shell

  • Shell 是管理命令行的程序(包在内核外的壳)
  • 不同Shell版本演化关系如下,一般Linux中会自动安装Sh和Bash(Bash比Sh好写,Zsh最好用)
  • .bashrc:Bash 的配置文件

[Linux] Linux命令行与Shell脚本编程大全 Part.3   [Linux] Linux命令行与Shell脚本编程大全 Part.3

  • 安装Ksh
    • sudo apt install ksh
  • 切换Shell
    • chsh
  • 运行脚本(必须在脚本目录中)
    • ./test.sh
  • 调试脚本
    • bash -x test.sh

变量

  • echo:在终端上显示传入的信息
    • -e:转义字符生效
      • echo -e "First line\nSecond line"
    • $:访问变量
      • echo $message
  • 引号  
    • ‘...’:忽略所有特殊字符
    • "...":忽略除 $,`,\ 外的特殊字符
    • `....`:在脚本中执行命令
  • read:读取用户输入信息
    • read name
    • echo "Hello $name !"
    • -p:显示提示信息
    • -n:限制输入字符数目
    • -t:限制输入时间
    • -s:隐藏输入内容(如输入密码)  
  • 环境变量
    • env:显示所有环境变量
    • SHELL:当前使用哪种Shell
    • PATH:可执行文件的路径
    • HOME:家目录所在路径
    • PWD:当前目录  
    • export:将属性赋值给变量
  • 脚本参数
    • $0:脚本名称
    • $1,$2...:传递给脚本的参数
    • $#:参数的数目  

循环

  • while

[Linux] Linux命令行与Shell脚本编程大全 Part.3

  • until

[Linux] Linux命令行与Shell脚本编程大全 Part.3

  • for

[Linux] Linux命令行与Shell脚本编程大全 Part.3

函数

  • 定义
    • 函数名() { 函数体 }
    • function 函数名{ 函数体 }
  • 注意
    • 圆括号中不可放置参数
    • 函数定义置于调用之前
  • 重载命令
    • 把函数名取成与命令行命令相同的名字    

参考

Shell脚本编程

http://www.ruanyifeng.com/blog/2020/04/bash-tutorial.html

Shell脚本中$0、$?、$!、$$、$*、$#、$@

https://blog.csdn.net/helloxiaozhe/article/details/80940066