Когда я CD через символьную ссылку, почему pwd показывает символьную ссылку вместо реального пути?

Это довольно легко.

Необходимо будет создать правило udev, включил USB, отключают событие для того устройства. Они были бы файлами в etc/udev/rules.d. Смотрите на этот вопрос в ServerFault для деталей.

Так, мы установили, что можно инициировать произвольные команды на USB, отключают события с PROGRAM ключевое слово.

Вторая часть к этому должна использовать "волшебство" sysrq ключ. См. эту статью о Волшебстве SysRq на Википедию для вещей, которые можно сделать с sysrq ключом. Ключ может также быть инициирован путем повторения буквы действия к /proc/sysrq-trigger. Это будет иметь тот же эффект как нажатие сочетания клавиш на Вашей физически приложенной клавиатуре.

Поэтому правило udev было бы:

DRIVER="some_device", ACTION="remove", PROGRAM="/bin/echo b > /proc/sysrq-trigger"

Это инициирует систему к перезагрузке когда устройство some_device удален.

И это, конечно, предполагает, что "втиснутым" Вы не имеете в виду "панику ядра".

19
18.04.2015, 00:27
3 ответа

Это особенность оболочки, которая вспоминает, как вы попали туда, где вы находитесь.
Если у вас есть RealPath установлено, вы можете сделать:

$ realpath 
/home/dazz/test/1

и не хватает того, что если у вас есть Python:

$ python -c "import os; print(os.path.realpath('.'))"
/home/dazz/test/1

или readLink (из COREUTILS):

$ readlink -f .
/home/dazz/test/1

или / bin / pwd (Не встроенная оболочка PWD ):

$ /bin/pwd
/home/dazz/test/1
18
27.01.2020, 19:45

Контраст PWD и / Bin / PWD .

PWD , который представляет собой встроенную команду во многих снарядах, говорит вам, где ваша оболочка думает, что вы (и, следовательно, относится к симпатиям «Мягкие ссылки», как будто они были настоящими каталогами.

/ Bin / PWD - это внешняя программа, которая говорит вам, где вы на самом деле, если необходимо, пересекая дерево файловой системы до / . Он не имеет никакого объяснения SymLinks, потому что те не существуют при пересечении вверх через .. ..

8
27.01.2020, 19:45

попробуйте ввести

awk '/changeset/ {print}'
-121--197945-

Используйте awk 'один-лайнер':

awk '/this._corner = new Clutter.Rectangle/,/ });/ { sub(/reactive: true/, "reactive: false");} { print }' /usr/share/gnome-shell/js/ui/layout.js > /usr/share/gnome-shell/js/ui/layout.js.tmp; mv /usr/share/gnome-shell/js/ui/layout.js /usr/share/gnome-shell/js/ui/layout.js.orig; mv /usr/share/gnome-shell/js/ui/layout.js.tmp /usr/share/gnome-shell/js/ui/layout.js

Источник: http://blog.allanglesit.com/2012/03/gnome3-disable-hot-corners/

-121--34629-

Другие ответы охватывают /bin/pwd против сборки оболочки pwd

Если вы хотите использовать символьные ссылки в указанном стиле Windows, используйте cd -P : это приведет к соответствующему изменению переменной PWD.

Если требуется использовать -P по умолчанию, можно добавить эту строку в .bashrc или .zshrc :

set -P

.

6
27.01.2020, 19:45

Теги

Похожие вопросы