No se puede convertir el script Bash al script Zsh
Pregunta
Necesito cambiar el siguiente código Bash a 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}
Recibo el siguiente error cuando inicio 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 adecuados para Zsh.
¿Cómo puedes convertir el código a Zsh?
Solución
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 ejecuta la división de palabras en tu variable:
TODO_OPTIONS="--timeout --summary"
....
devtodo ${=TODO_OPTIONS}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow