Это может быть / lib и/lib64 (если это существует), который вызывает это.
Они могут заполниться быстрее, чем Вы хотите, если Вы выполняете некоторые chrooted среды или устанавливаете дополнительное программное обеспечение.
Ну, если это - все в том же каталоге, Вы могли бы сделать что-то вроде этого в ударе или любой другой оболочке Bourne-style/POSIX:
for FILE in dev-*; do ln -s "$FILE" "${FILE#dev-}"; done
который создал бы символьные ссылки без "dev-" в файлы, начинающиеся "dev-".
Я обычно использую краткую остроту.
for file in dev-*.php; do ln -s $file $(echo "$file" | sed 's/^dev-//'); done
Это циклически повторяется через 'dev - *.php' файлы, получая новое имя без 'dev-', затем создавая символьную ссылку.
С zsh
, Вы сделали бы:
autoload zmv # typically in ~/.zshrc
zmv -Lsv 'dev-(*.php)' '$1'
С bash
или другие оболочки POSIX (включая zsh
):
for f in dev-*.php; do
ln -s "$f" "${f#dev-}"
done
Отметьте это если site.php
существует и каталог (или символьная ссылка на каталог), затем можно закончить с a dev-site.php
символьная ссылка в нем. С GNU ln
Вы могли добавить -T
опция принять меры против этого (с zmv
использовать -o -T
передать -T
опция вниз к ln
).
${FILE#dev-}
bashishm, AFAIU (определенно не в/bin/sh
на Солярисе путь назад). – vonbrand 12.02.2013, 01:38${FILE#dev-}
не Bourne, но POSIX (был представлен ksh, не колотят). Вам нужно--
дляln
отметить конец опций для a*
шаблон, или лучше, использует adev-*
шаблон. Код, как это, создал бы символьные ссылки на себя в каждом подкаталоге текущего каталога, имя которого не запускается сdev-
. См. также примечания в моем ответе. – Stéphane Chazelas 12.02.2013, 08:48dev-*
вместо*
работавший, как предназначено здесь - поскольку код стоит выше его, пытается создать символьные ссылки для каждого файла. – gbentley 13.02.2013, 21:35