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"
应该可以。