0
我有這樣的事情如何分析我的命令參數到bash腳本
./foo.sh --textfile foo1.txt < foo2.txt
如何可以解析foo1.txt和foo2.txt到我的bash腳本
它不是安全使用$ 1和$ 2等,因爲用戶可以使用不同的參數序列,以運行該程序
例如:
./foo.sh < foo2.txt --textfile foo1.txt
我有這樣的事情如何分析我的命令參數到bash腳本
./foo.sh --textfile foo1.txt < foo2.txt
如何可以解析foo1.txt和foo2.txt到我的bash腳本
它不是安全使用$ 1和$ 2等,因爲用戶可以使用不同的參數序列,以運行該程序
例如:
./foo.sh < foo2.txt --textfile foo1.txt
正如一些評論者所指出的,你不能在foo2.txt
得到更廣泛地回答你的問題,但是,你應該使用一個結構類似這樣來解析您的命令行參數:
while [ "${#}" -gt 0 ] ; do
case "${1}" in
# Do some processing on the args you're expecting
# Maybe create some local variables and fill them as you go
esac
shift
done
的'< foo2.txt'是shell的一個命令(告訴它在程序啓動之前將'foo2.txt'連接到你的程序的stdin),而不是你的程序。它不適用於您的程序閱讀。 –
1.您無法獲得foo2.txt,請重新定向。這兩條線完全不同。 –
另請參閱http://mywiki.wooledge.org/BashFAQ/035,瞭解參數分析的最佳實踐機制。 –