Есть ли команда оболочки для отображения командной строки.

Я объясню, что я хочу через иллюстрацию ниже.

Когда я выполняю script.sh, я должен получить следующий вывод

$sh script.sh
$                   /* command prompt and then print hi */
hi

Мой script.sh такой

#! /bin/bash

<command to display the shell command prompt>
echo "hi"
exit 0

что должен код, который должен идти вместо угловых скобок, чтобы получить вывод как выше?

Спасибо

1 ответ1

2

Невозможно портативно сделать, как вы просите, потому что переменная PS1 устанавливается только тогда, когда оболочка является интерактивной, и должна изменяться только в файлах dot-rc, если она уже установлена, как «определена ли PS1?"это классический тест для нахождения в интерактивной оболочке.

Выберите предпочитаемое приглашение и используйте его. Классически, «$» для оболочек в стиле Борна, включая bash (по умолчанию «bash- $»), «>» для tcsh, «%» для zsh и «#», если root.

Если вы пытаетесь передать состояние для согласованности, то просто «используйте« # », если root, иначе« $ »».

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .