Для упражнения мне пришлось создать файл 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$>
Я ожидал, что $> и% - оба символа конца строки терминала. Кто-нибудь знает разницу между ними?
%
и символы $>
, которые вы видите, являются подсказкой терминала. Поскольку вы удаляете последний возврат каретки с помощью tr -d '\ n'
, скрипт не печатает CRLF, а приглашение при выходе из программы отображается после вашего вывода, а не начинается с новой строки.
Правка: В Linux приглашение сохраняется в переменной PS1
, я не уверен насчет BSD или Mac. Вы можете просмотреть его значение с помощью echo $ PS1
.