无法将 Bash 脚本转换为 Zsh 脚本
我需要将以下 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?
I need to change the following Bash code to 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}
I get the following error when I start Zsh with the code
todo: error, unknown argument '--timeout --summary', try --help
I feel that Zsh cannot understand the following line
[ $RV = 0 -a -r .todo ] && devtodo ${TODO_OPTIONS}
Other commands in the first code seems to be right for Zsh.
How can you convert the code to Zsh?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您将文本保存为一个字符串/对象,而不是作为一个简单的“要替换的东西”。
您可以正确保存字符串:
或者对变量运行分词:
You're saving the text as one string/object, instead of as a simple "thing to substitute".
You can either save the string properly:
Or run word splitting on your variable: