2014-01-26 118 views
0

我知道如何在bash中提問問題,如「你想創建一個目錄」並基於該輸入做些什麼。不過,我想創建一個bash腳本,我可以這樣做:創建帶參數的bash腳本

./somescriptname.sh install 
./somescriptname.sh update 
./somescriptname.sh assets get asset-name 
./somescriptname.sh install 
./somescriptname.sh update 
./somescriptname.sh assets get all 

我真的不知道如何閱讀使用bash通過命令行參數。

回答

2

使用$1$2等訪問命令行參數:

#!/bin/sh 

echo Arg 1: $1 
echo Arg 2: $2 
echo All args: [email protected] 
+3

並正確引用它們。 –

1

你從$ 1,$ 2,$ 3 ...的ARGS ARG $ 0是腳本的名稱

例。這需要3個參數。如果$ 3不存在,則不打印任何內容。

#!/bin/bash 
echo "the $1 eats a $2 every time there is a $3" 
echo "bye:-)" 

如果這是foo.sh: 然後在命令行上只是做:./foo.sh男孩菠菜飯

還你應該學會讓OPS,所以你可以很容易地測試「論據」 。因爲你有不止一個。你可能想給每個arg一個定義。 http://wiki.bash-hackers.org/howto/getopts_tutorial

1

從擊參考手冊:Positional Parameters

位置參數是由一個或多個數字表示的參數,比單位0位置參數是從所述殼的參數分配其他時被調用,並且可以使用set builtin命令重新分配。位置參數N可以被引用爲$ {N},或者當N由單個數字組成時被作爲$ N引用。