在 Ubuntu 18.04 上安装 tomcat 7 时出现“chmod:缺少操作数”

在 Ubuntu 18.04 上安装 tomcat 7 时出现“chmod:缺少操作数”
~/tomcat/apache-tomcat-7.0.90/bin$ sudo chmod 700/tomcat/apache-tomcat-7.0.90/bin/*.sh
chmod: missing operand after ‘700/tomcat/apache-tomcat-7.0.90/bin/*.sh’

我无法理解这个错误。

我应该怎么办?

答案1

您的问题中缺少一个空格字符chmod 700。打开终端并输入:

sudo chmod 700 ~/tomcat/apache-tomcat-7.0.90/bin/*.sh  

上述命令中的波浪符号 ( ~) 表示当前用户的主目录。请检查当前用户的主目录中是否存在 tomcat 目录。

答案2

shell 中的命令通过特殊字符(通常是空格)分隔成“字”。

chmod至少需要一个字符串来定义所需的文件模式(权限)更改,以及要对其执行操作的文件的名称。chmod调用文件对其“操作数”执行操作。这两个参数(模式和操作数)需要用空格分隔,您漏掉了空格。因此,后面的单个“单词”chmod被视为所需的模式(当然,这不是有效的模式!),而缺少操作数(要对其执行操作的文件)。

请注意,如果文件名包含空格,你需要以某种方式“引用”空间以防止它被解释为一个单独的单词(从而成为一个单独的文件)。

您要更改其权限的文​​件显然位于您当前的工作目录中(您的提示会显示这一点),因此您无需输入完整路径。您只需键入ls以获取要运行的脚本的名称,然后键入

chmod 700 name.sh

或者如果你想要改变那里每个文件的模式.sh,你可以使用 glob,就像你尝试的那样

chmod 700 *.sh

顺便说一下,如果你只需要为文件所有者添加执行权限,你可以使用:

chmod u+x script.sh

答案3

我在编写脚本时遇到了类似的问题,后来注意到 awk 输出显示空白而不是文件名。

前任:

# tail -n 2 /tmp/watchfolder_logs|awk '{print $10}'

robin

相关内容