sh_shell的基礎語法1
創建當前目錄下建立一個a.sh,並執行,查看結果
#!/bin/sh #制定shell的類型
mkdir test #在當前的目錄中創建一個名爲test的文件
cd test #進入這個test文件夾
for ((i=0; i<10; i++)); do #通過循環創建十個普通的文本文件
touch test_$i
done #完成循環操作
cd ../ #返回上一級目錄
chmod -R 777 test #爲test文件夾賦予最高權限
ps:
- 本例子已在root用戶下進行
- ‘#’ 代表註釋
- 使用的默認的shell 爲bash
執行過程步驟
- vi a.sh #用vi創建一個a.sh文件
- 在vi中鍵入上述的代碼
- chmod 775 a.sh #對a.sh文件增加可執行權限
- ./a.sh #執行a.sh
- cd test
- ls #列出文件
result
root@iZ28nywuw2zZ:~# ./a.sh
root@iZ28nywuw2zZ:~# cd test
root@iZ28nywuw2zZ:~/test# ls
test_0 test_1 test_2 test_3 test_4 test_5 test_6 test_7 test_8 test_9
變量的種類
局部變量
局部變量在腳本或命令中定義,僅在當前shell實例中有效,其他shell啓動的程序不能訪問局部變量。環境變量
所有的程序,包括shell啓動的程序,都能訪問環境變量,有些程序需要環境變量來保證其正常運行。必要的時候shell腳本也可以定義環境變量。shell變量
shell變量是由shell程序設置的特殊變量。
變量
定義一個變量 shell變量 test_value 並將其賦值10 再打印出來
#!/bin/sh
test_value=10
echo $test_value
result
10
使用變量
使用一個定義過的變量,只需要在其前面加$
#!/bin/sh
test_value=10
echo $test_value
echo ${test_value} #加花括號是爲了幫助解釋器識別變量的邊界
10
10
聲明只讀變量
關鍵詞 readonly
#!/bin/sh
test_value=10
readonly test_value
echo $test_value
10
刪除變量
unset test_value
特殊變量
例如查看當前shell的進程好號
echo $$
顯示進程號
各類特殊變量的用途
#!/bin/sh
echo $0 #輸出當前的sh腳本名
echo $1 #輸出傳入腳本的第一個參數
echo $2 #輸出傳入腳本的第二個參數
echo $* #輸出傳入腳本的所有參數
echo $@ #輸出傳入腳本的所有參數
a
b
a b
a b
變量 含義
$0 當前腳本的文件名
$# 傳遞給腳本或函數的參數個數。
$* 傳遞給腳本或函數的所有參數。
$? 上個命令的退出狀態,或函數的返回值。
$$ 當前Shell進程ID。對於 Shell 腳本,就是這些腳本所在的進程ID。