为什么?Mkdir ~/cc '不会在test's的主目录创建cc目录



su - test; mkdir ~/cc在根目录下创建cc目录。

为什么不在test的主目录下创建cc ?

你真正想做的是

su - test -c 'mkdir ~/cc'

你现在做的事不会起作用。在它之后的命令将由同一个bash实例计算,该实例将处理su -部分,正如Chris在他的评论中指出的。

su启动一个新的shell。直到另一个shell退出,这个命令才会终止;此时将处理下一个命令。

您应该看到,直到您退出su shell,才真正创建cc。(这就是posix兼容shell的工作方式)。

因为当您运行su test时,您不会被cd到它们的主目录。如果你输入

su test -c "mkdir ~/cc"

应该可以。

最新更新