我正在尝试检查是否使用csh脚本安装了卷。
此代码有效
#!/bin/csh
set MOUNT_FOLDER = "/Volumes/AAA"
if ( `mount | grep -c "on $MOUNT_FOLDER"` == 0 ) then
echo Not mounted
else
echo Mounted
endif
但我想尝试将语法与{}和退出代码grep
一起使用。我尝试过
if ( { mount | grep -q "on $MOUNT_FOLDER" } ) then
...
但是它将打印mount
输出,并且无论$MOUNT_FOLDER
的值是什么,表达式始终为true
。
答案 0 :(得分:1)
与bash
不同的是,如果您在csh
中有管道命令并且想要获取命令退出状态,则需要封装在子外壳( ... | ... )
因此,以下内容应该对您有用:
if ( { ( mount | grep -q "on $MOUNT_FOLDER" ) } ) then
...