su - test; mkdir ~/cc
在root的主目录下创建cc
目录。
为什么不在test的主目录下创建cc
?
答案 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"
它应该有用。我也遇到过这个问题。