假設您要製作bash
腳本,該腳本不支持任何選項,但行爲類似cp
,因爲系統提供的cp
不接受多個源。bash腳本針對最終參數對每個參數執行操作
對於使用該系統的(假設和打破)cp
是:
cp source target # target may be a directory
爲腳本的使用將是:
cp.sh source... target # target must be a directory
下面是腳本的起點:
#!/bin/bash
tgt="$1"
shift
for src in "[email protected]"; do
echo cp $src $tgt
done
當運行參數「a b c d
」(注意:牛逼d
是目標),它輸出:
cp b a
cp c a
cp d a
的目標是修復腳本這個代替輸出,同時保持代碼的簡單:
cp a d
cp b d
cp c d
我真的很喜歡這個!我在$ target和$ src(用於支持具有空格的路徑)的用法中添加引號,但除此之外,這非常完美。 – 2009-09-22 19:33:16
你應該在'for'循環中添加一個'if [-f「$ src」]'(或'-a')。 – 2009-09-22 20:30:40