我正在尝试在命令行中输出我的 $PATH,但也使用以下命令将 : 替换为 \n:
echo $PATH | sed s/:/\n/g
Run Code Online (Sandbox Code Playgroud)
这不能 100% 工作,我该如何让它工作?
你需要转义反斜杠,即
echo $PATH | sed s/:/\\n/g
Run Code Online (Sandbox Code Playgroud)
或者,正如 BatchyX 指出的那样
echo $PATH | tr ':' '\n'
Run Code Online (Sandbox Code Playgroud)
另一种可能,如果你想解析$PATH,你也可以使用
IFS=:
for i in $PATH; do
echo $i
done
Run Code Online (Sandbox Code Playgroud)
HereIFS=:告诉bash在 处拆分字符串:。请注意,这也会改变当前会话中的其他内容。摘自man bash:
IFS 内部字段分隔符,用于在扩展后进行分词,并使用 read 内置命令将行拆分为单词。默认值为
<space><tab><newline>