質問
次の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に変換するにはどうすればよいですか
解決
テキストは、単純な「置換するもの」ではなく、1つの文字列/オブジェクトとして保存しています。 文字列を適切に保存できます:
TODO_OPTIONS=(--timeout --summary)
....
devtodo ${TODO_OPTIONS}
または変数で単語分割を実行します:
TODO_OPTIONS="--timeout --summary"
....
devtodo ${=TODO_OPTIONS}
所属していません StackOverflow