Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法将Bash脚本转换为Zsh脚本_Bash_Zsh - Fatal编程技术网

无法将Bash脚本转换为Zsh脚本

无法将Bash脚本转换为Zsh脚本,bash,zsh,Bash,Zsh,我需要将下面的Bash代码更改为Zsh TODO_OPTIONS="--timeout --summary" cd () { builtin cd "$@" RV=$? [ $RV = 0 -a -r .todo ] && devtodo ${TODO_OPTIONS} return $RV }

我需要将下面的Bash代码更改为Zsh

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

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

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

         # Run todo initially upon login
         devtodo ${TODO_OPTIONS} 
当我用代码启动Zsh时,出现以下错误

todo: error, unknown argument '--timeout --summary', try --help
我觉得Zsh无法理解下面这句话

[ $RV = 0 -a -r .todo ] && devtodo ${TODO_OPTIONS}
第一段代码中的其他命令似乎适用于Zsh


如何将代码转换为Zsh?您将文本保存为一个字符串/对象,而不是一个简单的“替换对象”。 您可以正确保存字符串:

TODO_OPTIONS=(--timeout --summary)
....
devtodo ${TODO_OPTIONS}
或者对变量运行单词拆分:

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

@病毒捕捉者:谢谢你的回答!在谷歌搜索“devtodo zsh”时发现了这个,谢谢+1.