我如何显示$ PATH这样的所有path?
Path 1: usr/bin Path 2: /bin ... and so on.
我很新,所以我不知道如何处理grep,以及如何显示它。 Thx提前
我不太清楚你为什么要这个? tr可以翻译字符:
tr ':' $'\n' <<< "$PATH"
tr将SET1(:)转换成SET2(换行符)
另外,你可以使用AWK来更好地格式化它:
% awk 'BEGIN{RS=":"}{printf "Path %d: %s\n", NR, $0}' <<< "$PATH" Path 1: /usr/bin Path 2: /bin ...
在一个shell脚本中,你可以这样做:
#!/bin/bash IFS=':' read -ra ITEMS <<< "$PATH" for i in "${ITEMS[@]}"; do echo "$i" done
这将在单独的行中打印列表中的每个PATH设置。
如果你想做其他的事情,你只需要改变for循环中的命令即可。
小小的解决方案:
awk 'BEGIN{RS=":"}{printf "Path %d: %s\n",++i,$0}' <<<"$PATH"
产量
Path 1: /home/ssam/bin Path 2: /usr/local/sbin Path 3: /usr/local/bin Path 4: /usr/sbin Path 5: /usr/bin Path 6: /sbin Path 7: /bin Path 8: /usr/games Path 9: /usr/local/games Path 10: /dingo/mingo
笔记:
<<<仅由少数炮弹支持。 <<< 。 你可以像这样使用awk ,
$ awk -F\: '{ for (i = 0; ++i <= NF;) print "Path", i,":", $i }' <<<$PATH Path 1 : /usr/local/sbin Path 2 : /usr/local/bin Path 3 : /usr/sbin Path 4 : /usr/bin Path 5 : /sbin Path 6 : /bin Path 7 : /usr/games Path 8 : /usr/local/games Path 9 : /snap/bin
如果你想使用PYTHON你可以尝试这样的,
$ python -c "import os; print '\n'.join(os.environ['PATH'].split(':'))" /usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /sbin /bin /usr/games /usr/local/games /snap/bin