2009-04-28 76 views
5

我需要以下猛砸代碼更改巖組無法bash腳本轉換爲巖組腳本

TODO_OPTIONS="--timeout --summary" 
     cd() 
     { 
      builtin cd "[email protected]" 
      RV=$? 
      [ $RV = 0 -a -r .todo ] && devtodo ${TODO_OPTIONS} 
      return $RV 
     } 

     pushd() 
     { 
      builtin pushd "[email protected]" 
      RV=$? 
      [ $RV = 0 -a -r .todo ] && devtodo ${TODO_OPTIONS} 
      return $RV 
     } 

     popd() 
     { 
      builtin popd "[email protected]" 
      RV=$? 
      [ $RV = 0 -a -r .todo ] && devtodo ${TODO_OPTIONS} 
      return $RV 
     } 

     # Run todo initially upon login 
     devtodo ${TODO_OPTIONS} 

我收到以下錯誤,當我開始巖組的代碼

todo: error, unknown argument '--timeout --summary', try --help 

我覺得Zsh無法理解以下行

[ $RV = 0 -a -r .todo ] && devtodo ${TODO_OPTIONS} 

第一個代碼中的其他命令似乎對於Zsh是正確的。

如何將代碼轉換爲Zsh?

+0

發現這對谷歌搜索「devtodo的zsh」感謝。 +1 – 2010-11-05 01:56:51

回答

4

您將文本保存爲一個字符串/對象,而不是一個簡單的「要替代的東西」。 您可以保存正確的字符串:在你的變量

TODO_OPTIONS=(--timeout --summary) 
.... 
devtodo ${TODO_OPTIONS} 

或者運行分詞:

TODO_OPTIONS="--timeout --summary" 
.... 
devtodo ${=TODO_OPTIONS} 
+0

@viraptor:謝謝您的回答! – 2009-04-29 02:08:31