Как я могу переименовать кучу точечных файлов и добавить ведущую точку в одну и ту же команду? Я вижу, что люди пишут:
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
не определено. Он будет заменен первым аргументом командной строки в сценарии оболочки, но пустой строкой, которой нет в сценарии оболочки.
- person falsetru; 09.11.2014