Art*_*ero 57 shell path environment-variables
我想以更易读的方式显示我的 PATH 环境变量。
$ echo $PATH
/Users/arturo/.rvm/gems/ruby-1.9.3-p392/bin:/Users/arturo/.rvm/gems/ruby-1.9.3-p392@global/bin:/Users/arturo/.rvm/rubies/ruby-1.9.3-p392/bin:/Users/arturo/.rvm/bin:/usr/local/git/bin:/Users/arturo/.gvm/groovy/current/bin:/Users/arturo/.gvm/grails/current/bin:/Users/arturo/.gvm/griffon/current/bin:/Users/arturo/.gvm/gradle/current/bin:/Users/arturo/.gvm/lazybones/current/bin:/Users/arturo/.gvm/vertx/current/bin:/Users/arturo/.gvm/bin:/Users/arturo/.gvm/ext:/usr/local/git/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin
Run Code Online (Sandbox Code Playgroud)
我在想这样的事情:
$ echo $PATH | some cut and awk magic
/Users/arturo/.rvm/gems/ruby-1.9.3-p392/bin
/Users/arturo/.rvm/gems/ruby-1.9.3-p392@global/bin
/Users/arturo/.rvm/rubies/ruby-1.9.3-p392/bin
/Users/arturo/.rvm/bin
...
Run Code Online (Sandbox Code Playgroud)
小智 82
您可以使用tr.
$ tr ':' '\n' <<< "$PATH"
/Users/arturo/.rvm/gems/ruby-1.9.3-p392/bin
/Users/arturo/.rvm/gems/ruby-1.9.3-p392@global/bin
/Users/arturo/.rvm/rubies/ruby-1.9.3-p392/bin
...
Run Code Online (Sandbox Code Playgroud)
您也可以在某些 shell 中执行此操作(在 bash 和 zsh 中测试):
echo -e ${PATH//:/\\n}
Run Code Online (Sandbox Code Playgroud)
在 zsh 中,您可以使用该$path变量来查看带有空格而不是冒号的路径。
$ echo $path
/Users/arturo/.rvm/gems/ruby-1.9.3-p392/bin /Users/arturo/.rvm/gems/ruby-1.9.3-p392@global/bin /Users/arturo/.rvm/rubies/ruby-1.9.3-p392/bin /Users/arturo/.rvm/bin
Run Code Online (Sandbox Code Playgroud)
可以与printf或结合使用print。
$ printf "%s\n" $path
/Users/arturo/.rvm/gems/ruby-1.9.3-p392/bin
/Users/arturo/.rvm/gems/ruby-1.9.3-p392@global/bin
/Users/arturo/.rvm/rubies/ruby-1.9.3-p392/bin
...
$ print -l $path
/Users/arturo/.rvm/gems/ruby-1.9.3-p392/bin
/Users/arturo/.rvm/gems/ruby-1.9.3-p392@global/bin
/Users/arturo/.rvm/rubies/ruby-1.9.3-p392/bin
...
Run Code Online (Sandbox Code Playgroud)
该<<<运营商称为herestrings。Herestrings 将其右侧的单词传递到其左侧命令的标准输入。
$ cat <<< 'Hello there'
Hello there
Run Code Online (Sandbox Code Playgroud)
如果您的外壳不支持它们,请使用echo管道。
$ echo 'Hello there' | cat
Hello there
Run Code Online (Sandbox Code Playgroud)
这是一个快速的方法bash
OLDIFS=$IFS IFS=: arr=($PATH) IFS=$OLDIFS
printf "%s\n" "${arr[@]}"
Run Code Online (Sandbox Code Playgroud)