одночасно змінюйте декілька напрямків призначення символів


2

Нещодавно я змінив моє ім'я користувача в OSX після документації apple. У мене є sh і bin каталогів у домашньому каталозі.

Зазвичай я пишу sh/foo.sh і зв'язати його з bin/foo використовувати його.

Після зміни імені користувача всі символічні посилання вказують шлях, який включає старе ім'я користувача. Чи можна одночасно замінити всі ім'я користувача в символічних посиланнях?

Старе ім'я користувача є достатньо довгим і uniq, що не відповідає іншим рядкам у шляху.

Відповіді:


0

Чи не могли ви просто відтворити символічні посилання?

cd ~/bin; for f in ../sh/*.sh; do ln -sf $f $(basename $f .sh); done

Інші опції:

  • cd ~/bin; find . -lname '/Users/oldname/sh/*' -exec ln -sf ../sh/{}.sh {} \;
  • cd ~/bin; for f in *; do target=$(readlink $f); [[ $target = /Users/oldname/* ]] && ln -sf ${target/oldname/newname} .; done

ln не перезаписує існуючі файли без -f. find -lname відповідає цілям символічних посилань.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.