參數我有一個實用程序工作(unison,但是這不是重點)接受參數,如:操縱SH
$ unison -path path1 -path path2 -path path3
我想寫出我可以運行像這樣的sh腳本:
$ myscript path1 path2 path3
我希望符合POSIX標準的解決方案,但特定的bash也會很好。
我猜它應該是這樣的:
#!/bin/sh
unison ${*//-path }
但是,這是行不通的。
編輯:OK,我覺得我得到的東西:
#!/bin/bash
PARAMS=
for arg in "[email protected]"
do
PARAMS+=" -path '$arg'"
done
unison $PARAMS
的問題是在bash這隻作品,我敢肯定有一個更好的方式來引用參數。
是你希望有一個不涉及`for`循環的單線解決方案? – eduffy 2009-06-08 14:49:34
真的任何解決方案 – itsadok 2009-06-08 14:50:55
引入單引號可能是一個壞主意。正如所寫的那樣,引用是由unison命令看到的,這不是你想要的。如果參數中沒有任何單引號,那麼使用單引號保護參數的外部是可以的 - 但您可能需要一個eval才能使其正常工作。 – 2009-06-08 15:05:05