【发布时间】:2014-11-09 03:41:16
【问题描述】:
如何重命名一堆点文件并在同一命令中添加前导点?我看到人们在写:
ln -s vimrc .vimrc
ln -s gitconfig .gitconfig
但我想要这样的东西:
ln -s {vimrc,gitconfig} ~/.$1
【问题讨论】:
如何重命名一堆点文件并在同一命令中添加前导点?我看到人们在写:
ln -s vimrc .vimrc
ln -s gitconfig .gitconfig
但我想要这样的东西:
ln -s {vimrc,gitconfig} ~/.$1
【问题讨论】:
使用for循环:
for f in vimrc gitconfig; do ln -s $f .$f ; done
如果文件中有文件名列表:
for f in `cat filename_list.txt`; do mv $f .$f ; done
【讨论】:
ln -s {vimrc,gitconfig} ~/.$1 将扩展为 ln -s vimrc gitconfig ~/.$1(指定多个目标)仅在链接为目录时有效。并且$1 没有定义。它将替换为 shell 脚本中的第一个命令行参数,但在 shell 脚本中没有空字符串。