我一直在使用linux控制台一段时间了。让我恼火的一件事是,每次使用mkdir
创建新目录时,我都必须cd
更改它。是否有一个命令解决方案来创建和切换到刚刚创建的目录?
现在我做:
mkdir php5
cd php5
我可以这样做:
mkdir -someswitch php5
我想要一些简单而干净的东西。一个很好的例子是git branch somebranch
,它创建了新的分支,git checkout -b somebranch
生成并切换到新的分支。
答案 0 :(得分:6)
执行此操作的可移植方式是使用shell函数 - 而不是bash函数(使用像function
这样的bashims)。将其放在相关的.profile
中以供交互式使用:
mkdir () {
case $1 in
(-c) command mkdir -p "$2" && cd "$2";;
(*) command mkdir "$@";;
esac
}
这会将-c
选项添加到mkdir
以供交互使用。没有-c
,实用程序就像往常一样.-并注意"$2"
的引用,这样就可以使用名称中带有空格的目录。
答案 1 :(得分:3)
没有什么可以阻止您创建自己的别名或小脚本
mkdir $1 && cd $1
答案 2 :(得分:2)
或者你可以使用';'分开命令,例如:
mkdir php5.3; cd php5.3
答案 3 :(得分:0)
您可以在bash中定义一个函数来执行此操作:
function mkcd() {
mkdir $1 && eval cd $1
}
答案 4 :(得分:0)
一个很有帮助的答案。打字很容易。
mkdir php7 && cd !$
答案 5 :(得分:0)
发现了一些魔力:
<Login.Screen
name="Login"
component={LoginScreen}
options={{
headerStyle: {
backgroundColor: 'red',
}
}}
/>
答案 6 :(得分:0)
这是我一直在使用的,不确定它是否符合最佳实践,但它有效。
function mk() {
$file = $args[0]
mkdir $file | cd
}