Я использую следующий код и не удалось.
$ echo $TERM
xtermc
$ v=/bin:/usr/bin:/usr/local/bin ; echo $v | tr ':' '\n'
/binn/usr/binn/usr/local/bin
Кажется, пропустить мой '/'. Я не знаю, как это решить. Моя оболочка это зш. Я перешел на bash, но все равно не получилось.
Но на другой машине это работает. и результат
/bin
/usr/bin
/usr/local/bin
Я нашел там три тр
/usr/local/bin/tr (GNU coreutils) 6.4
/usr/ucb/tr unkown version size 9916 bytes
/bin/tr size 19400 Usage: /bin/tr [ -cds ] [ String1 [ String2 ] ]
which tr
иtr --version
на обеих машинах?Ответы:
Проблема вызвана различными настройками TR и PATH.
источник
Поскольку вы используете zsh, вы можете использовать этот подход и больше не полагаться на какие-либо внешние команды:
Как это устроено:
(s.:.)
разделяет параметр$v
на двоеточия (см.man zshexpn
)print -l
печатает каждый следующий аргумент в одной строкеЕсли вы полагаетесь на символ новой строки , используйте
где
//from/to
глобальный (две начальные косые черты) поиск и замена.источник