shell有減號開頭的參數的問題
例:創建一個文件名為-1.html的文件
touch -1.html # 執行失敗
touch \-1.html # 執行失敗
touch '\-1.html' #創建了 \1.html
touch "\-1.html" #創建了 \1.html
上面幾個都是錯誤的例子,和空格、|、引號等不同,減號是沒有斜杠轉義的
到這里我查到了一個辦法是
touch -- "-1.html"
可以成功創建了
但是我遇到的問題比這個惡心
類似
./run encrypt -d "-1234/abcd.data" -x1 xxx -x2 xxx
我遇到的減號開頭是在-d參數后面,我嘗試了把" -- "加到各個位置,都不能成功執行
最后胡亂試居然找到了辦法
./run encrypt -d"-1234/abcd.data"
就是去掉-d和引號直接的空格,問題解決了,浪費2小時
原因不想深究了,有知道的朋友可以說下原因,感謝。
使用的shell是mac自帶的終端。

浙公網安備 33010602011771號