一个命令来创build和更改目录

我正在寻找一个命令 – 没有&&| – 创build一个目录,然后立即将当前目录更改为新创build的目录。 (这是一个有人为他的“linux使用”考试的问题,他做了一个新的命令,但没有给他的观点)。这是在debian服务器,如果这件事

Solutions Collecting From Web of "一个命令来创build和更改目录"

我相信你正在寻找这个:

 mkdir project1 && cd $_ 

在你的$HOME/.bashrc中为此目的定义一个bash 函数

  function mkdcd () { mkdir "$1" && cd "$1" } 

然后在交互式shell中键入mkdcd foodir

所以,严格意义上,如果没有包含一些&& (或至少是一个)的shell函数 ,你想实现的目标是不可能的……换句话说,这个练习的目的是让你明白为什么函数(或别名)是有用的在壳里…

PS它应该是一个函数,而不是脚本(如果它是一个脚本, cd将只影响运行脚本的[子]壳,而不是交互式父shell); 因为每个进程都有自己的当前目录,所以不可能做出一个单一的命令或可执行文件(而不是shell函数),因为每个进程都有自己的当前目录,只能改变你自己进程的当前目录,而不是调用shell进程)。

PPS。 在Posix shell中,你应该删除function关键字,并且第一行是mkdcd() {

把下面的代码放在你的.bash_profile(或者等价的)中会给你一个mkcd命令来完成你所需要的:

 # mkdir, cd into it mkcd () { mkdir -p "$*" cd "$*" } 

这篇文章更详细地解释它

对于oh-my-zsh用户: take 'directory_name'
参考: 官方哦-my-zsh github维基

我不认为这是可能的,但所有的人都想知道什么是最简单的方法(我知道)不需要你创建自己的脚本是:

 mkdir /myNewDir/ cd !$ 

这样你就不需要两次写新目录的名字了。

!$获取最后一个命令( ! )的最后一个( $ )参数。

(有更多有用的快捷方式,如!!!*!startOfACommandInHistory 。在网上搜索更多信息)

可悲的是, mkdir /myNewDir/ && cd !$不起作用:它检索前一个命令的最后一个参数,而不是最后一个mkdir命令。

也许我不完全理解这个问题,但是

 >mkdir temp ; cd temp 

使临时目录,然后变成该目录。

也许你可以使用一些shell脚本。

shell脚本的第一行将创建目录,第二行将更改为创建的目录。