Для упражнения мне пришлось создать файл 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
.