различия% и $> результат командной строки конец строки

Для упражнения мне пришлось создать файл print_groups.sh. Когда я выполняю sh print_groups.sh , результатом должен быть список групп $ USER, разделенных запятой.

У меня было две разные попытки:

groups $FT_USER | tr " " "," | tr -d '\n'

с результатом:

group,group,group%

и

groups $FT_USER | tr " " ","

с результатом:

group,group,group

хотя в примере результата в описании упражнения было показано:

$>./print_groups
group,group,group,group$>

Я ожидал, что $> и% - оба символа конца строки терминала. Кто-нибудь знает разницу между ними?

0
задан 27 September 2018 в 18:00
1 ответ

% и символы $> , которые вы видите, являются подсказкой терминала. Поскольку вы удаляете последний возврат каретки с помощью tr -d '\ n' , скрипт не печатает CRLF, а приглашение при выходе из программы отображается после вашего вывода, а не начинается с новой строки.

Правка: В Linux приглашение сохраняется в переменной PS1 , я не уверен насчет BSD или Mac. Вы можете просмотреть его значение с помощью echo $ PS1 .

0
ответ дан 5 December 2019 в 05:16

Теги

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