在我的bash腳本中,我想解析零個,一個或兩個參數(腳本可以識別它們),然後將其餘參數轉發到腳本中調用的命令。我怎樣才能做到這一點?如何將參數轉發給bash腳本中的其他命令?
92
A
回答
153
使用shift
內置命令 「吃」 的參數。然後調用子進程並將它傳遞給參數"[email protected]"
以包含所有剩餘的參數。注意引號,它們應該保留,因爲它們會引起參數列表的擴展被正確地引用。
18
bash中使用移命令:
例如 shifttest.sh:
#!/bin/bash
echo $1
shift
echo $1 $2
shifttest.sh 1 2 3產生
1
2 3
7
bash的支持子集參數(見Subsets and substrings),所以你可以選擇哪些參數過程/通過這樣的:
打開新文件,並對其進行編輯:VIM r.sh
echo "params only 2 : ${@:2:1}"
echo "params 2 and 3 : ${@:2:2}"
echo "params all from 2: ${@:2:99}"
來看,它:
chmod u+x r.sh
./r.sh 1 2 3 4 5 6 7 8 9 10
結果是:
params only 2 : 2
params 2 and 3 : 2 3
params all from 2: 2 3 4 5 6 7 8 9 10
相關問題
- 1. 將命令行參數傳遞給bash腳本命令
- 2. 如何將命令行參數傳遞給v8中的腳本?
- 3. 如何將星號(*)傳遞給Bash腳本中的命令?
- 4. 如果其他在shell命令的bash腳本中
- 5. 將命令行參數委託給其他命令
- 6. Bash腳本循環命令行參數
- 7. [ncftp]如何將值傳遞給bash腳本的命令
- 8. 通過其他目錄中的bash腳本執行git命令
- 9. 追加bash參數並傳遞給其他腳本
- 10. 如何通過命令行將參數傳遞給sql腳本
- 11. 如何將命令行參數傳遞給嵌套腳本?
- 12. 如何將命令行參數傳遞給spark-shell scala腳本?
- 13. 將變量作爲命令參數插入到bash腳本中
- 14. C程序執行bash腳本+傳遞其命令行參數
- 15. 在bash腳本中使用grep命令將變量值傳遞給--include參數
- 16. 暫停腳本,直到執行其他腳本中的命令[Bash]
- 17. 將變量的值傳遞給bash腳本中的命令
- 18. Bash腳本;給命令程序stdin
- 19. 如何將字符串傳遞給bash命令作爲參數
- 20. 如何通過bash將參數傳遞給命令行程序?
- 21. 在Ant腳本中將命令行參數傳遞給JAR
- 22. 如何將整個命令行文本作爲參數傳遞給bash函數?
- 23. awk命令的bash腳本
- 24. 在shell腳本中將bash變量傳遞給python命令
- 25. 在Bash腳本中將Telnet命令傳遞給SSH
- 26. 發送命令行參數NPM腳本
- 27. 如何在期望腳本中使用bash腳本的命令?
- 28. 命令行參數在bash shell腳本中的嵌套ssh
- 29. 如何從perl腳本參數傳遞給bash腳本
- 30. bash命令參數
其實「$ @」比$ *更安全 – pixelbeat 2009-10-08 13:10:15
有什麼區別? – 2009-10-08 13:14:08
@ pixelbeat:謝謝,很好。我編輯過。 @ŁukaszLew:請參閱手冊中的鏈接頁面。 :)基本上,它處理引用更好。 – unwind 2009-10-08 13:18:52