1. 程式人生 > >Shell 指令碼學習-Day1

Shell 指令碼學習-Day1

 

Day1:

命令與引數
cd /dev; ls -l
ls --color #輸出顏色
#shell識別三種命令:1、內部命令 2、shell函式 3、外部命令(iostat、fio、issdcm..)

引數:
echo "Shell 輸出指令碼名稱及引數";
echo "執行的指令碼名:$0";
echo "第一個引數為:$1";
echo "第二個引數為:$2";
echo "第三個引數為:$3";

引數處理擴充套件:
$# 傳遞到指令碼的引數個數
$* 以一個單字串顯示所有向指令碼傳遞的引數。 #如"$*"用「"」括起來的情況、以"$1 $2 … $n"的形式輸出所有引數。
$$ 指令碼執行的當前程序ID號
$! 後臺執行的最後一個程序的ID號

[email protected] 與$*相同,但是使用時加引號,並在引號中返回每個引數。
#如"[email protected]"用「"」括起來的情況、以"$1" "$2" … "$n" 的形式輸出所有引數。
$- 顯示Shell使用的當前選項,與set命令功能相同。
$? 顯示最後命令的退出狀態。0表示沒有錯誤,其他任何值表明有錯誤。

輸出:echo & printf
echo :
-e 引數
\n :換行 \t :水平製表符 \v:垂直製表符
printf :
printf "%s\tabc\n"$a

重定向:

輸出重定向:echo sda > test
echo add >> test
輸入重定向:cat < output
管道: cat /etc/passwd |tr -d ':'
相關的特殊檔案:/dev/null,/dev/tty

指令碼跟蹤:
開啟跟蹤:set -x
關閉跟蹤:set +x