Назад | Перейти на главную страницу

Возможно ли (и как) создать «виртуальную» софт-ссылку, значение которой зависит от среды оболочки?

Вопрос, наверное, можно было бы перефразировать. Я хотел бы иметь определенный путь, скажем /workingsrc для одновременной ссылки на другой реальный путь для каждого экземпляра оболочки (bash).

Итак, в случае bash я могу сделать ls /workingsrc и получить содержимое /foo/bar а в другом экземпляре, который одновременно работает на той же машине, выполните ls /workingsrc и получить содержимое /foo/zoo.

Вы знаете, есть ли способ сделать это? Я использую linux и bash.

Вероятно, вы можете сделать это с помощью переменных среды. Например: Shell 1:

WORKINGSRC=/foo/bar
ls $WORKINGSRC

Оболочка 2:

WORKINGSRC=/foo/zoo
ls $WORKINGSRC

Вернемся к оболочке 1:

ls $WORKINGSRC

Вы все равно должны увидеть / foo / bar в оболочке 1, даже после установки для переменной другого значения в оболочке 2.

Вам нужны символические ссылки с вариантами, но они есть только в файловых системах * BSD и AFS. Работать с переменными окружения намного проще (см. Ответ Hyppy).