Fre*_*red 3 unix shell scripting ksh
我对我写的这个KornShell(ksh)脚本有些困惑,主要是用布尔和条件语.
所以我的脚本的第一部分,我catme
和wcme
两个设置为true
或false
.这部分工作正常,因为我已经尝试过echo
它们并产生了预期的结果.后来,我有这个代码:
if [[ $catme ]] ; then
some commands
fi
Run Code Online (Sandbox Code Playgroud)
我再说一遍wcme
.但是,出乎意料的是,无论是什么wcme
,catme
我的if
语句中的命令都会被执行.
这是语法错误吗?我尝试过,[[ $catme -eq true ]]
但似乎也没有用.有人能指出我正确的方向吗?
test
并且[
是一回事.你需要test
从if语句中删除命令,所以它看起来像这样:
if $catme; then
some commands
fi
Run Code Online (Sandbox Code Playgroud)
输入man test
以获取更多信息.
例如:
$ v=true
$ $v
$ if $v; then
> echo "PRINTED"
> fi
PRINTED
$ v=false
$ if $v; then
> echo "PRINTED"
> fi
$
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
9670 次 |
最近记录: |