我需要将以下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}
Run Code Online (Sandbox Code Playgroud)
当我用代码启动Zsh时出现以下错误
todo: error, unknown argument '--timeout --summary', try --help
Run Code Online (Sandbox Code Playgroud)
我觉得Zsh无法理解以下几行
[ $RV = 0 -a -r .todo ] && devtodo ${TODO_OPTIONS}
Run Code Online (Sandbox Code Playgroud)
第一个代码中的其他命令似乎适合Zsh.
如何将代码转换为Zsh?
您将文本保存为一个字符串/对象,而不是作为一个简单的“要替换的东西”。您可以正确保存字符串:
TODO_OPTIONS=(--timeout --summary)
....
devtodo ${TODO_OPTIONS}
Run Code Online (Sandbox Code Playgroud)
或者对变量运行分词:
TODO_OPTIONS="--timeout --summary"
....
devtodo ${=TODO_OPTIONS}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1396 次 |
| 最近记录: |