我在终端中运行以下zsh chained命令:
cd /path/to/backups/pod3 && rm -rf ./*(Om[1,-10])
这可以正常工作,并按预期方式删除适当的目录。
但是,当我将其放入脚本中时,会出现以下错误:
syntax error near unexpected token `('
我做了一些研究,似乎需要在我的shell脚本中进行设置:
setopt extended_glob
但是,在脚本顶部添加该行之后,它会抛出自己的错误。
setopt: command not found
因此,我不确定我在这里做错了什么以及如何解决此问题。
您需要在脚本中添加一个she-bang,以告诉系统该脚本必须由解释zsh
,否则它将由来解释sh
:
#! /bin/zsh -
cd /path/to/backups/pod3 && rm -rf ./*(Om[1,-10])
更改/bin/zsh
为zsh
可执行文件的实际路径,或将整个“ she-bang”行更改为:
#! /usr/bin/env zsh
对的路径zsh
中要查找$PATH
(假设env
命令是在/usr/bin
这是在大多数系统的情况下)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句