欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

su - 用户名 -c 文心一言 chatgpt 有大用 有大大用

在Linux系统中,su 命令用于切换当前用户身份到另一个用户。当你想要以另一个用户的身份执行某个命令时,通常会使用 -c 选项来指定要执行的命令。不过,需要注意的是,su - 用户名 -c 的语法实际上是稍微有些误解的,因为 - 和 -c 是两个独立的选项,它们之间不应该直接相连,除非 - 是作为 su 命令的一部分(单独使用时,su - 表示以目标用户的登录shell来启动一个新的shell环境)。

正确的用法是:

bash复制代码

su - 用户名 -c '要执行的命令'

或者,如果你只是想要简单地切换用户并执行命令,而不是以用户的登录shell启动新shell,你可以省略 -

bash复制代码

su 用户名 -c '要执行的命令'

但是,推荐使用带 - 的方式,因为它会加载目标用户的环境变量和其他登录shell相关的配置,这对于执行需要这些配置的命令来说是很重要的。

示例:

假设你想要以用户 john 的身份执行 ls 命令来列出其主目录下的文件,你应该这样做:

bash复制代码

su - john -c 'ls'

这个命令会切换到 john 用户,加载其登录shell环境,并执行 ls 命令。执行完成后,你将返回到原始用户的shell环境。


普通分类: