我不知道如何$PATH
单独列出各个路径,以便它们看起来像这样:
/bin
/usr/bin
/usr/local/bin
如何才能做到这一点?
答案1
您可以使用以下任一命令来执行此操作,该命令会将所有出现的 替换为:
新行\n
。
sed
:
$ sed 's/:/\n/g' <<< "$PATH"
tr
:
$ tr ':' '\n' <<< "$PATH"
python
:
$ python -c 'import sys;print(sys.argv[1].replace(":","\n"))' "$PATH"
答案2
使用 bash 的参数扩展:
echo "${PATH//:/$'\n'}"
这将用换行符 ( ) 替换:
中的所有内容并打印结果。 的内容保持不变。 如果只想替换第一个,请删除第二个斜杠:$PATH
\n
$PATH
:
echo -e "${PATH/:/\n}"
答案3
使用 IFS:
(set -f; IFS=:; printf "%s\n" $PATH)
IFS
保存 bash 进行拆分的字符,因此IFS
with使 bash拆分:
的扩展。循环遍历格式字符串中的参数,直到参数用尽。我们需要禁用通配符扩展,这样PATH 目录名称中的通配符就不会被扩展。$PATH
:
printf
set -f
答案4
可能唯一没有被提及的方法就是我多年来一直使用的方法:
echo $PATH | tr ":" "\n"
因此,在您的 .profile 或 .bash_profile 或其他文件中,您可以添加:
alias path='echo $PATH | tr ":" "\n"'