csh 判断字符串是否以*开头

需要注意的是csh不支持函数,所以一些功能需要像下面这样用执行命令的方式,间接调用其他命令实现。

csh的字符串比较需要用双引号包裹变量才能比较

"$a" == "$b" //ok

$a == $b // failed

if ($# == "0" || $1 == ".") then
    set pwd=`pwd`
    echo $pwd
    set result = `echo "$pwd" | grep "/hello"`
    if ("$pwd" == "$result") then
        setenv DEV_ROOT_DIR ${pwd}
    endif
    set result = `echo "$pwd" | grep "hello2"`
    if ("$pwd" == "$result") then
        setenv DEV_ROOT_DIR ${pwd}
    endif
    set result = `echo "$pwd" | grep "hello3"`
    if ("$pwd" == "$result") then
        setenv DEV_ROOT_DIR ${pwd}
    endif
    if ! $?DEV_ROOT_DIR then
        echo "please set a in aaa"
    endif
else
    setenv DEV_ROOT_DIR $1
endif

echo "DEV_ROOT_DIR: " ${DEV_ROOT_DIR}

文章目录