我正在尝试链接 linux 中的命令,我使用的是 ubuntu 14.04 发行版。目的是创建一个目录并进入该目录。一般我们这样做
mkdir foldername
cd foldername
完美,当尝试这个时
mkdir gates
cd gates
按预期工作。但使用时事情并没有按预期工作&
mkdir gates & cd gates
,不起作用,错误是no such file or directory
。当按下回车键时,它将在下一步中创建目录门。为什么会发生这种情况?但ls & mkdir gates
似乎工作正常
答案1
&
是个shell 的后台操作符;它将前面的命令置于后台并继续。
所以
mkdir gates &
cd gates
mkdir gates
在后台启动并立即运行cd gates
,它尝试在创建目录之前更改目录(并失败)。
ls & mkdir gates
有效是因为mkdir gates
不依赖任何东西ls
;所发生的一切都是ls
在后台启动,输出目录列表,同时mkdir
创建gates
目录。
您可能正在寻找
mkdir gates && cd gates
mkdir
仅当成功时才会更改目录;你可能更喜欢
mkdir -p gates && cd gates
如果目录已经存在,则不会失败。