Где в качестве оболочки по умолчанию используется тире?

Согласно https://wiki.ubuntu.com/DashAsBinSh :

Оболочка входа по умолчанию остается bash. Открытие терминала из меню или ярлыка [crtl-alt-t] обеспечивает интерактивный bash. Сценарий, запускаемый с рабочего стола или из файлового менеджера через диалог «запуск в терминале», будет выполняться как черта POSIX.

livy@disco-dingo:~$ ls -l /bin/sh
lrwxrwxrwx 1 root root 4 Aug 22 10:53 /bin/sh -> dash
livy@disco-dingo:~$ cat Desktop/test.sh
echo $SHELL > ~/Desktop/test-result.txt;

Я добавил разрешение на выполнение, затем дважды щелкнул файл test.sh, и вот результат:

livy@disco-dingo:~$ cat Desktop/test-result.txt 
/bin/bash

Вики Ubuntu устарели или что-то в этом роде?

0
задан 22 August 2019 в 09:26

1 ответ

Согласно nixCraft: , Как я узнаю то, что окружает, я использую на Linux/Unix?

... $SHELL оболочка для текущего пользователя, но не обязательно окружают, который работает при перемещении. [так]

я понятия не имею, как получить в настоящее время рабочую оболочку.   следующее просто дает название сценария:

ps -p $ > ~/Desktop/test-result.txt

, В то время как следующее:

pstree -s $ > ~/Desktop/test-result.txt

имеет следующий вывод на моем компьютере:

systemd---test.sh---pstree

, Чтобы видеть, работает ли dash вообще, можно попробовать:

pgrep dash > ~/Desktop/test-result.txt

Проверка сначала в интерактивной оболочке, которую это уже не выполняет для предотвращения ложных положительных сторон.   На моем компьютере, даже когда я имею #!/bin/dash, dash, кажется, не используется.   Таким образом, это кажется systemd, может запускать скрипт непосредственно.

1
ответ дан 23 October 2019 в 04:55

Другие вопросы по тегам:

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