Pergunta

É preciso mudar o seguinte código Bash para 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} 

Eu recebo o seguinte erro quando eu começar Zsh com o código

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

Eu sinto que Zsh não pode compreender a seguinte linha

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

Outros comandos no primeiro código parece ser certo para Zsh.

Como você pode converter o código para Zsh?

Foi útil?

Solução

Você está salvando o texto como uma cadeia / objeto, em vez de como um simples "coisa a substitua". Você pode salvar a string corretamente:

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

ou executar repartição de palavras em sua variável:

TODO_OPTIONS="--timeout --summary"
....
devtodo ${=TODO_OPTIONS}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top