命令 cut 错误:分隔符必须是单个字符

命令 cut 错误:分隔符必须是单个字符

我正在尝试从控制台运行此命令:

# HTTPDUSER=`ps aux | grep -E '[a]pache|[h]ttpd|[_]www|[w]ww-data|[n]ginx' | grep -v root | head -1 | cut -d\ -f1`

但出现此错误:

尝试“cut --help”获取更多信息。

我已经尝试过答案发布但对我来说不起作用,因为之后的命令(如下所列)无法正常工作。

sudo setfacl -R -m u:"$HTTPDUSER":rwX -m u:`whoami`:rwX app/cache app/logs
sudo setfacl -dR -m u:"$HTTPDUSER":rwX -m u:`whoami`:rwX app/cache app/logs

我该如何解决我遇到的问题?

答案1

您的 cut 命令中缺少一个空格。

cut -d\ -f1

应该

cut -d\  -f1

由于您使用 \ 来转义以下空格(使用空格作为分隔符),并且参数由空格分隔,因此 -d 和 -f 之间缺少一个空格(对于 cut 来说,您似乎试图使用“-f1”作为分隔符,它不止一个字符)。

相关内容