При просмотре видео я увидел следующее:
% more tinyUF.txt
10
4 3
3 8
6 5
Что это за %
знак перед more
командой?
shell
command-line
prompt
Максим Корецкий
источник
источник
export PS1=%
??$
знак, используя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
тоже, хотя я замечаю , что это удобно следствие.