غير قادر على تحويل باش سكربت Zsh النصي
سؤال
أنا بحاجة إلى تغيير التالية باش رمز 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?
المحلول
أنت توفر النص سلسلة واحدة/object, بدلا من مجرد "شيء بديل".يمكنك إما حفظ السلسلة بشكل صحيح:
TODO_OPTIONS=(--timeout --summary)
....
devtodo ${TODO_OPTIONS}
أو تشغيل word تقسيم على المتغير الخاص بك:
TODO_OPTIONS="--timeout --summary"
....
devtodo ${=TODO_OPTIONS}
لا تنتمي إلى StackOverflow