Как сообщить программе, что она находится в папке символической ссылки?

Если вы устанавливаете GNOME Tweaks, есть возможность «Изменить размер с помощью вторичного щелчка» . Отметив его, вы сможете с помощью Super+RMB изменять размер окон.

1
24.02.2021, 22:22
2 ответа

В общем случае нет. Вы не в foo2. Это иллюзия. Ваша оболочка хранит иллюзию, поэтому она может ее видеть. Но ни один подпроцесс об этом не знает

Я бы проверил переменную окружения $PWD. Посмотрите, устанавливает ли ваша оболочка иллюзию, и подпроцессы могут ее видеть. Но это будет работать только в коде, которым вы управляете. Вы знаете, что проверяете $PWD. Другие приложения будут выполнять (по сути )call cwd ().

2
18.03.2021, 22:28

вы можете проверить, является ли текущий вывод pwdсимволической ссылкой. вы можете сделать это с помощью таких утилит, как fileилиstat:

user@host:~/tmp$ mkdir -p sym/bar/bar
user@host:~/tmp$ mkdir -p sym/foo
user@host:~/tmp$ cd sym/foo/
user@host:~/tmp/sym/foo$ ln -s../bar/bar/./foo
user@host:~/tmp/sym/foo$ ls -l
total 0
lrwxrwxrwx 1 user user 11 Feb 24 17:33 foo ->../bar/bar/
user@host:~/tmp/sym/foo$ cd foo
user@host:~/tmp/sym/foo/foo$ pwd
/home/user/tmp/sym/foo/foo
user@host:~/tmp/sym/foo/foo$ file $(pwd)
/home/user/tmp/sym/foo/foo: symbolic link to../bar/bar/
user@host:~/tmp/sym/foo/foo$ stat -c %F  $(pwd)
symbolic link
0
18.03.2021, 22:28

Теги

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