【发布时间】:2013-10-12 10:00:15
【问题描述】:
一般来说,我要打两个命令:
$ mkdir dir_name
$ cd dir_name
创建目录并转到它。
上面有没有可以实现的单一命令?
【问题讨论】:
-
您可以制作一个带有名称参数的 shell 脚本,然后执行您使用该变量指定的两个操作。
一般来说,我要打两个命令:
$ mkdir dir_name
$ cd dir_name
创建目录并转到它。
上面有没有可以实现的单一命令?
【问题讨论】:
您可以将它们组合成一个命令:
$ mkdir dir_name && cd dir_name
请注意,只有在前半部分成功时,后半部分才会运行。也就是说,如果您的目录已经存在,它不会更改目录。
如果您想更改目录,请改用分号:
$ mkdir dir_name; cd dir_name
【讨论】:
你可以这样尝试:-
$ mkdir dir_name && cd dir_name
【讨论】:
是的,你可以这样做
$ mkdir dir_name && cd dir_name
shell 会将&& 解释为逻辑AND。当使用&& 时,第二个命令只有在第一个命令成功时才会执行(返回零退出状态)。
【讨论】:
您可以在.bash_profile 中添加一个函数:
function mkdircd () { mkdir -p "$@" && eval cd "\"\$$#\""; }
并像这样使用它:
mkdircd test_folder
【讨论】:
仍然是两个命令,但如果您只是想避免输入两次目录名称,您可以这样做:
$ mkdir name
$ cd !$
【讨论】: