2009-04-28 17 views
5

Necesito cambiar el siguiente código Bash a ZshNo se puede convertir escritura del golpe a la escritura Zsh

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} 

me sale el siguiente error cuando comienzo Zsh con el código

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

Siento que Zsh no puede entender la siguiente línea

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

Otros comandos en el primer código parecen ser los correctos para Zsh.

¿Cómo se puede convertir el código a Zsh?

+0

encontrado esto en una búsqueda en Google de 'devtodo zsh' gracias. +1 –

Respuesta

4

Está guardando el texto como una cadena/objeto, en lugar de como una simple "cosa para sustituir". Puede guardar la cadena correctamente:

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

O ejecutar la división de palabras en la variable:

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

@viraptor: ¡Gracias por tu respuesta! –

+0

La primera versión de tus códigos funciona. :) –

Cuestiones relacionadas