我有一個接受多個命令行參數($ 1,$ 2,...等)的bash腳本。啓動腳本的程序是,因爲我不會在這裏進入,將命令行參數作爲bash腳本解釋爲$ 1的一個字符串傳遞。這一個字符串包含所需參數之間的空格,但bash仍然將其解釋爲單獨的命令行參數。有沒有辦法告訴bash使用空格作爲分隔符來解析它的命令行參數?如何告訴bash腳本解析包含空格的單個命令行參數?
例如,如果argstring = 50 graphite downtick
我想慶典看到$1=50
$2=graphite
$3=downtick
,而不是$1=50 graphite downtick
不要引用擴展,它會得到分詞(但它會分裂在每個空間,這可能不是你想要的,並且要小心globes。) – rici
@rici我不明白是什麼你的意思是「不要引用擴張」。 –
當您使用$ 1時。想必你在某個地方使用它。如果你想把它分成位置參數,你可以使用'set - $ 1'。如果你想以三個單詞將它傳遞給另一個命令:'other_cmd $ 1'。只要你不引用擴展('「$ 1」'),它就會分裂。 +但這是傳遞多個參數的不理想方式。) – rici