我正在使用 El Capitan 10.11.6 并且需要以用户身份su -c
运行。问题是,我的 macOS 版本上没有这个标志。不能代表其他较新版本的 macOS(目前无法访问较新的操作系统)。有没有其他选择?我需要在脚本和命令行中使用它。psql
_postgres
更正,比以前更仔细地阅读手册页发现su
实际上确实有一个-c
标志,但它似乎对我不起作用。运行su _postgres -c 'mkdir /Users/leetbacoon/folder'
不起作用或向终端显示任何内容。
在我的 Debian
man 1 su
中写道:macOS 上的情况很可能是相同的。您提供给的用户
su
可能已经/bin/false
在/etc/passwd
. 这对于系统用户来说是正常的。这样,没有人可以直接以此类用户身份登录。这是一件好事。我猜你是以 root 身份调用命令,所以没有密码提示。幕后发生的事情是:
此命令完全静默,只有其退出代码 (
1
) 表示失败。您su
报告相同的退出值。使用
sudo
:_postgres
可能不允许在里面创建目录/Users/leetbacoon/
。如果是这样,您将从mkdir
. 仍然mkdir
会运行。