Shell學習【引數傳遞】
引數傳遞
shell指令碼執行可以透過引數傳遞到指令碼 來作為自動輸入引數
#!/bin/bash #定義陣列 echo "Shell 傳遞測試"; echo "這是水果:$0"; echo "這是水果:$1"; echo "這是水果:$2";
執行指令碼時需要匯入傳遞的值
chmod +x test.sh ./test.sh Banana apple orange #顯示結果 這是水果:Banana; 這是水果:apple; 這是水果:orange;
特殊字元:
$# | 傳遞到指令碼的引數個數 |
$* |
顯示所有向指令碼傳遞的引數。
|
$$ | 指令碼執行的當前程式ID號 |
$! | 後臺執行的最後一個程式的ID號 |
$@ |
與$*相同,但是使用時加引號,並在引號中返回每個引數。
如"$@"只有在雙引號中體現出來、以"$1" "$2" … "$n" 的形式輸出所有引數。 |
$- | 顯示Shell使用的當前選項,與 功能相同。 |
$? | 顯示最後命令的退出狀態。0表示沒有錯誤,其他任何值表明有錯誤。 |
#判斷上一步操作是否成功 即是否 $?=0 #!/bin/bash if [ $? -eq 0 ];then echo -e "\033[36mThis **** successful!!\033[0m" else echo -e "\033[32mthis **** failed !!!\033[0m" fi
#判斷是否有引數輸入 if [ -n "$1" ]; then echo "包含第一個引數" else echo "沒有包含第一引數"fi
#判斷目錄是否存在 #!/bin/bash BAK_DIR=/usr/local/tomcat/webapps_bak/`date +%Y%m%d` if [ ! -d $BAK_DIR ];then mkdir -p $BAK_DIR fi
#判斷檔案是否存在 #!/bin/bash BAK_DIR=/usr/local/tomcat/webapps_bak/`date +%Y%m%d` if [ ! -e $BAK_DIR ];then touch $BAK_DIR fi
#判斷字串是否相同,注意空格使用 #!/bin/bash BAK_DIR="str" if [[ ${BAK_DIR} = ${BAK_DIR} ]];then echo "${BAK_DIR} 相同" else echo "${BAK_DIR} 不相同" fi
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31441024/viewspace-2640263/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [linux shell]引數傳遞之空格Linux
- go 呼叫 shell 指令碼 如何傳遞引數Go指令碼
- Shell自學二(引數傳遞和陣列)陣列
- shell程式引數傳遞給sqlplusSQL
- shell (3)指令碼引數傳遞與數學運算指令碼
- 深入學習js之——引數按值傳遞#9JS
- 引數傳遞
- Linux/Unix shell 引數傳遞到SQL指令碼LinuxSQL指令碼
- JNI傳遞引數
- Mybatis引數傳遞MyBatis
- React事件傳遞引數React事件
- 路由元件傳遞引數路由元件
- JS的方法引數傳遞(按值傳遞)JS
- Vue3學習(十九) - 使用Vue完成頁面引數傳遞Vue
- C#引數傳遞之值引數C#
- Flutter:學會在頁面間傳遞引數Flutter
- 請求引數的傳遞
- JavaScript函式傳遞引數JavaScript函式
- out,ref,params引數傳遞
- 函式的引數傳遞函式
- 利用閉包傳遞引數
- SpringMVC之引數傳遞SpringMVC
- java 中引數的傳遞Java
- JavaScript函式引數傳遞JavaScript函式
- t-on-click 傳遞引數
- 《從零開始學Swift》學習筆記(Day 19)——函式引數傳遞Swift筆記函式
- 引數傳遞方式必須是const引用傳遞
- js中函式引數值傳遞和引用傳遞JS函式
- 引數傳遞機制之JWTJWT
- 函式作為引數傳遞函式
- linux中main引數傳遞LinuxAI
- 函式引數傳遞及返回函式
- C++引數的傳遞方式C++
- golang 方法作為引數傳遞Golang
- php連結中加引數傳遞PHP
- OFBiz中的引數傳遞
- JAVA基礎之-引數傳遞Java
- 獲取url傳遞傳遞的某個引數的值