採取bash腳本wtf.sh可能在Bash中將文字字符*作爲命令行參數傳遞?
#!/bin/bash
echo $1
echo $2
echo $3
./wtf.sh 1 2 3
1
2
3
./wtf.sh * * *
end
./wtf.sh 1 * *
1
wtf.sh
wtf.sh
./wtf.sh 1 "*" "*"
1
wtf.sh
wtf.sh
我知道,*
是猛砸特殊參數但這是否意味着它不可能通過本身傳遞*
從文字字符命令行?我期待的是
./wtf.sh * * *
*
*
*
我該如何做到這一點?
我剛剛對「」的修改進行了測試,結果仍然相同。也就是說,如果除了腳本修改之外,我還能夠獲得預期的輸出結果,我還在命令行的每個星號周圍添加了引號./wtf.sh「*」,輸出爲*。感謝您的澄清。 – Peter 2014-10-19 00:51:55
@彼得:是的,你需要在兩個地方報價。您需要引用'*',以便它不在命令行中擴展,*和*您需要引用'$ 1',以便擴展不是全局擴展的。我試圖讓答案更清楚。 – rici 2014-10-19 01:45:28
反斜槓對我完美地工作!非常感謝! :) – CodingInCircles 2016-02-05 21:42:59