Ksh

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

  • November 18, 2013

我試著寫一個小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. 如何在我的迴聲中使用 pwd 的值?
  2. 要返回值,我讀到使用 echo 是可行的

$$ yourValue $$在最後一行。然後你在哪裡呼叫函式,我想我可以使用:$?。那麼我怎樣才能用 pwd 做同樣的行為呢?

1:可以直接使用PWD變數,eg:

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

2:$?用於檢索最後一個命令返回值,它是數字的。這裡沒有辦法傳遞字元串,返回值應該是 0 表示成功或不同的值表示失敗。如果您想獲取該資訊,請使用return 0或。return -1當您修改腳本目前目錄時,無論如何它都將$PWD在呼叫方中可用。

引用自:https://unix.stackexchange.com/questions/101592