tjw*_*992 9 csh environment-variables login-script parameter-expansion
我试图在我的PERL5LIB环境变量的末尾附加一个路径,但我不确定这个变量是否总是存在.如果它不存在,我想简单地将它初始化为我试图追加的值.
这是一个有效的例子:
if ( $?PERL5LIB ) then
setenv PERL5LIB ${PERL5LIB}:/some/other/path
else
setenv PERL5LIB /some/other/path
endif
Run Code Online (Sandbox Code Playgroud)
虽然这有效,但它仍然看起来很笨重,因为我必须基本上写两次同一行.我想做的是提出一个更有效的单线解决方案(可能使用参数扩展).
有没有办法将其合并为一条线?(或者多行不涉及多次写出"/ some/other/path")
例如,这可以在bash中完成:
export PERL5LIB=${PERL5LIB:+${PERL5LIB}:}/some/other/path
Run Code Online (Sandbox Code Playgroud)
如果未定义环境变量,请将其设置为空字符串。这避免了重复。
if ( ! $?PERL5LIB ) then
setenv PERL5LIB ""
else
setenv PERL5LIB "${PERL5LIB}:"
endif
setenv PERL5LIB ${PERL5LIB}/some/other/path
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2194 次 |
| 最近记录: |