Linux运营商问题

时间:2017-05-25 09:12:09

标签: linux operators

我只是想测试一个目录是否存在:
- 如果是,请执行cd - 如果为false,则mkdir和cd进入

我这样做:

(test -d foo && cd foo) || (mkdir foo && echo 'print' && cd foo)

而且,这也得到了相同的结果:

test -d foo && cd foo || (mkdir foo && echo 'print' && cd foo)

这就是我得到的

[dbadmin@osboxes test]$ ll
total 0
[dbadmin@osboxes test]$ (test -d foo && cd foo) || (mkdir foo && echo 'print' && cd exp)
print
[dbadmin@osboxes test]$ ll
total 4
drwxr-xr-x. 2 dbadmin verticadba 4096 May 25 10:57 foo
[dbadmin@osboxes test]$

正如你所看到的,它创建了dir“foo”,但是没有进入,即使echo test有效(这只是一种调试)。

此外,如果我只做mkdir foo && cd foo工作正常

[dbadmin@osboxes test]$ mkdir foo && cd foo
[dbadmin@osboxes foo]$

你能帮助我吗?

0 个答案:

没有答案