函数,在KSH中使用pwd返回值

函数,在KSH中使用pwd返回值

我尝试写一个小ksh脚本:

fDestExists (){
    cd /tmp
    read vANSWER?" >> Do you want to create a repository in pwd ? Type YES or NO"
        echo "    |----> $(fGetDatum) You typed: " $vANSWER         
        if [ "$vANSWER" = "YES" ]; then
                read vANSWER2?" >> Type your repository's name."
                mkdir -p $vANSWER2
                cd $vANSWER2
                echo "    |----> Logs will be coped in pwd."        
        elif [ "$vANSWER" = "NO" ]; then
            echo "    |----> Logs will be coped in pwd."        
        else 
            echo "    |----> You typed a wrong answer; exiting."        
            exit 1
        fi  
    pwd #return
}

这里有几个问题。

  1. 如何在 echo 中使用 pwd 的值?

  2. 为了返回值,我读到在最后一行使用 echo [yourValue] 是可行的。然后在调用该函数的地方,我想我可以使用:$?。那么我怎样才能对 pwd 做同样的行为呢?

答案1

1:可以直接使用PWD变量,eg:

echo "    |----> Logs will be coped in $PWD."

2:$?用于检索最后一个命令的返回值,该值是数字。这里无法传递字符串,返回值应该是 0 表示成功,或者其他值表示失败。如果您想获取该信息,请使用return 0或。return -1当您修改脚本当前目录时,$PWD无论如何它都将在调用方可用。

相关内容