【发布时间】:2015-06-04 05:34:04
【问题描述】:
我正在尝试编写一个 csh 别名(是的,它必须是 csh,我希望它没有)。我想传入一个变量名,并取决于它是否被设置或不对其进行操作。我将代码归结为以下内容。令我困惑的是,第一个 echo 打印 1 或 0 取决于是否设置了值,但 if 中的 echo 始终打印为空。
alias trythis 'eval echo \$\?\!:1 ; eval if \$\?\!:1 then ; echo empty ; endif ; '
假设发生的是,如果您传入 PATH,它不应该打印任何内容,但如果您传入 PATHx,它应该打印为空。 (是的,if 可能是倒退的,但我撕掉了 ! 让事情变得更简单)
所以 trythis PATH 应该打印空,而 trythis PATHx 应该不打印任何内容
【问题讨论】:
-
试过这个:别名 trythis 'eval set xxx=\$\?\!:1 ;回声 $xxx ;如果 ( $xxx ) 那么 ;回声空;万一 ; ' 但现在它抱怨 $xxx 为 0 时的 if
标签: csh