このために実際にスクリプトを作成する必要はないようです。私は何をしたいですかcp /etc/*.conf $1.orig
?それともcp /etc/{a.conf,b.conf} _firstarg_.orig
速くて痛みなしにこれを行う方法はありますか?
答え1
ループを使用するのは簡単です:
for f in /etc/*.conf; do cp -v -- "$f" "$f.orig"; done
答え2
for x in /etc/*.conf; do cp -i -- "$x" "$x.orig"; done
(-i
既存のファイルを上書きしたくない場合は削除してください。)
zshを使用すると、提供された機能を使用できますzcm
(最初の3行を自分の行に入力します~/.zshrc
)。
autoload zmv
alias zcp='zmv -C'
alias zln='zmv -L'
zcp '/etc/(*.conf)' '/etc/$1.orig'
(既存のターゲットファイルを上書きするには-f
後で追加してください。)zcp