Bash在
在 scp
或 rsync
中使用標誌定義目標目錄(如 cp -t
)
由於我經常通過網路將不同數量的特定文件複製到(相當複雜的)目標目錄,如果我可以使用
cp
’-t
標誌,我的生活會輕鬆得多:有了它,您可以指定目標目錄“在開始”——而不是作為最後的論點。這樣,我可以
CTRL-R
先複製命令,然後再CTRL-W
复制之前複製的文件,同時保留(複雜的)設置和目標系統和目錄,無論之前有多少文件。但我找不到任何合適的標誌,無論是 for
scp
還是 forrsync
。(如果其中一個提供此選項,我會使用其中一個。)做
scp
或rsync
提供任何類似的東西cp -t
?在我絕望中,我什至玩弄了
bash
的歷史控制,特別是參數提取機制:不幸的是,似乎不可能以“第x個參數到最後一個- but-one”,我需要它,因為我並不總是有參數的數量(除非我數……)。
也許你可以定義一個環繞的函式
scp
:scpt () { scp "$@" user@host:/some/convoluted/path }
然後做
scpt file1 scpt /dir1/file2
此外,通過歷史互動,您可以使用 獲取上一個
scp
命令的最後一個參數!scp:$
,因此您也可以這樣做:scp /dir1/file2 !scp:$
(因為目標目錄通常是最後一個)