При просмотре видео я увидел следующее:
% more tinyUF.txt
10
4 3
3 8
6 5
Что это за %
знак перед more
командой?
$
знак, используя export PS1=...
где ...
замена.
При просмотре видео я увидел следующее:
% more tinyUF.txt
10
4 3
3 8
6 5
Что это за %
знак перед more
командой?
$
знак, используя export PS1=...
где ...
замена.
Ответы:
Это приглашение оболочки, или, точнее, это основное приглашение оболочки ( их несколько ). Это способ оболочки сказать « давай, я готов к вводу сейчас ».
%
Приглашение распространено в csh
-типе оболочек в то время как sh
-shells (как bash
и ksh93
) обычно использует в $
качестве подсказки.
Подсказка обычно меняется #
на пользователя root, поскольку достаточно мощному пользователю следует напоминать об этой возможности, имея альтернативную подсказку (как это указано в стандарте POSIX).
Первичные подсказки в sh
оболочках -типа определяются значением переменной оболочки PS1
.
Резюме комментариев ниже, с дополнениями:
Символ #
корневого приглашения (используется обоими sh
и csh
оболочками) совпадает с обычным символом комментария оболочки. Копирование и вставка команды с правами root приведет к тому, что вставленная команда станет неработоспособной, если приглашение оболочки также будет скопировано. Обратите внимание, что это #
было принято в качестве корневого приглашения до того, как оболочка имела соглашение о комментариях (ссылка: электронное письмо от Дуга Макилроя ).
es
И rc
панцири Plan 9 использует ;
символ в качестве значения по умолчанию строки. Следствием этого является то, что копирование и вставка команды, включая приглашение, все равно будет означать, что вставленная команда действительна (и она будет выполнена).
Можно было бы использовать один из способов, позволяющий получить настраиваемое, но все еще копируемое приглашение оболочки, например : something ;
, где something
может быть текущий каталог, имя хоста или время.
zsh
(оболочка в стиле Борна, но с большим количеством функций из tcsh
). Обратите внимание, что Bourne-подобные и csh-подобные оболочки обычно используют #
для пользователей uid 0.
rc
используются оболочки , похожие на оболочки ;
(можно скопировать и вставить всю строку, и это допустимый код оболочки, аналогично тому, как #
приглашение root является комментарием).
#...
строки являются комментариями при копировании, даже если это не было намерением. Я не знаю , было ли это намерение за ;
в rc
тоже, хотя я замечаю , что это удобно следствие.
export PS1=%
??