shell程序
- 以文件形式存放批量的Linux命令集合,該文件能夠被Shell解釋執行,這種文件就是Shell腳本程序
- 通常由一段Liunx命令、Shell命令、控制語句以及注釋語句構成
- Shell腳本的編寫
- Shell腳本是純文本文件,可以使用任何文本編輯器編寫
- Shell腳本通常是以.sh作為后綴名
語法
- 第一行指定
#!/bin/bash
或者 #!/bin/sh
- 使用
#
注釋
變量
- 變量名必須以字母或者下划線開頭
- 變量名關於大小寫敏感
- 取值:
echo $name
或者 echo ${name}
- 寫入:
name="hw"
等號兩邊不能有空格
- 如果參數有空格需要用
"hello world"
引起來
變量類型
- 本地變量:只存在當前session
- 全局環境變量:
/etc/profile
按照慣例需要大寫
- 用戶環境變量:
/.bash_profiles
位置參量
- 需要使用
$1-$9 / ${10+}
來顯示變量參數
$0
:表示當前腳本的文件名
$#
:顯示當前腳本的參數個數
$*
:以單個字符串顯示所有的位置參量
$!
:最后一個后台運行的進程的進程號
$?
:顯示前面最后一個命令的退出狀態。0表示沒有錯誤,其他任何值表示有錯誤
執行腳本
. test.sh
./test.sh
sh test.sh
數組的定義、引用
arr=(zhangsan lis wangz)
:定義數組
echo ${arr[0]}
:查看數組元素
echo ${arr[*]}
:列出數組所有的元素
echo ${#arr[*]}
:查看數組的元素個數
arr[0]=zhangsan
:賦值
date命令
date +%Y-%m-%dT%H:%M:%S
:格式化日期
[root@fz hw]# date +%Y-%m-%dT%H:%M:%S
2018-08-06T17:39:04
${date +%Y-%m-%d}
:shell中定義
${date --date='2 days ago' +%Y-%m-%d}
:兩天前
${date --date='-1 days ago' +%Y-%m-%d}
:一天后
date -s 2018-09-01
:設置日期
cal 12 2018
:查看2018年12月日歷