shell 指令碼隨處可見,甚至有些專案就是由 shell 指令碼組成的
如果你想使用 shell 指令碼自動化執行流程,或者看懂 shell 指令碼,需要哪些知識呢
這裡簡單講幾個點
小工具包裝指令碼編譯**
呼叫其他高階語言(排程)
少量的資料處理
$ example_command 1 2 3在執行命令後面加了三個引數
在程式中可以這樣獲取
# 命令本身,即: example_command如果是乙個 shell 函式要獲取引數呢?echo $0
# 1echo $1
# 2echo $2
# 3echo $3
也是類似!
function_call ()借助 source 命令function_call "call function"
# a.shfunction function_a()
# b.sh
source a.sh
function_a
while true; do如果不想輸入錯誤一直提示,可以去掉 while 迴圈read -r -p "step $prestep done! next step is $nextstep. are you sure continue? [y/n] " input
case $input in
[yy][ee][ss] | [yy])
echo "continue"
break
;;[nn][oo] | [nn])
echo "opt exit, done."
exit 1
;;*)
echo "invalid input..."
;;esac
done
set -x 命令輸出示例:
有幾種方式可以在 shell 中計算
但是這裡只說一種
那就是雙括號的形式
# a.shshell 的 test 提供了很多比較實用的比較方式# 雙括號中不能使用 $n 表示變數
((n = 10 / 3))
echo $n
比如:
-e: 檔案存在停,如果全列出來就沒意思了,只能是授之以魚-f: 檔案存在並且是普通檔案
通過命令 man test 可以看到更詳細的判斷語法
shell指令碼 訪問shell指令碼的引數
所謂的位置引數 positional parameters 指的也就是shell指令碼的命令列引數 command line arguments 在shell函式裡,它們同時也可以是函式的引數。各引數都由整數來命名。由於歷史原因,當它超過9時,就應該用大括號把數字框起來 echo first arg...
Shell指令碼(三) Shell指令碼入門
1 指令碼格式 指令碼以 bin bash開頭 指定解析器 2 第乙個shell指令碼 helloworld 1 需求 建立乙個shell指令碼,輸出helloworld 2 案例實操 atguigu hadoop101 datas touch helloworld.sh atguigu hadoo...
Shell指令碼和shell
1.shell script,shell指令碼與windows dos下的批處理相似,也就是用各類命令預先放入到乙個檔案中,方便一次性執行的乙個程式檔案,主要是方便管理員進行設定或者管理用的。但是它比windows下的批處理更強大,比用其他程式設計程式編輯的程式效率更高,畢竟它使用了linux un...