看来我真的不需要为此创建脚本。我想做点什么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
(将前三行放入您的 中~/.zshrc
):
autoload zmv
alias zcp='zmv -C'
alias zln='zmv -L'
zcp '/etc/(*.conf)' '/etc/$1.orig'
(-f
在后面添加zcp
以覆盖任何现有的目标文件。)