如何解决在if语句CSH中未修改变量
我有以下非常简单的代码:
$Capslock::Esc
$Esc::Capslock
问题是$ status的最后一个回显为0,而第一个设置为退出代码为2? 为什么会这样呢?为什么状态不能在if语句中修改。在bash中执行此操作的效果与此完全相同。
解决方法
$status
是$?
的别名;因此它会被echo
覆盖。您需要使用其他变量名称:
set ls_status = 0
if ( 0 == 0 ) then
ls ./dummyDir
set ls_status = $?
echo $ls_status
endif
echo $ls_status
输出:
ls: cannot access './dummyDir': No such file or directory
2
2
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。