为什么`su - test; mkdir~ / cc`不会在test的主目录中创建cc目录?

时间:2014-05-05 03:03:14

标签: linux

su - test; mkdir ~/cc在root的主目录下创建cc目录。

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

3 个答案:

答案 0 :(得分:4)

你真正想做的是

su - test -c 'mkdir ~/cc'

你正在做的事情不会像以前一样工作。并且它之后的命令将由同一个bash实例进行评估,这个实例将照顾克里斯在评论中指出的内容。

答案 1 :(得分:0)

su启动一个新shell。在另一个shell退出之前,该命令不会终止;此时处理下一个命令。

在退出cc shell之前,您应该看到实际上并未创建su。 (这是符合POSIX标准的shell的工作方式)。

答案 2 :(得分:-1)

因为当你运行su test时,你没有cd到他们的主目录。如果你跑了

su test -c "mkdir ~/cc"

它应该有用。我也遇到过这个问题。