mac*_*cek 99 terminal bash shortcuts command-line
这是我经常做的事情
$ mkdir foo
$ cd foo
Run Code Online (Sandbox Code Playgroud)
这作为单个命令工作,但它需要更多的击键并且不节省时间。
$ mkdir foo && cd foo
Run Code Online (Sandbox Code Playgroud)
这有捷径吗?
使用下面的帮助,这似乎是最优雅的答案。
# ~/.bashrc
function mkcd {
if [ ! -n "$1" ]; then
echo "Enter a directory name"
elif [ -d $1 ]; then
echo "\`$1' already exists"
else
mkdir $1 && cd $1
fi
}
Run Code Online (Sandbox Code Playgroud)
kzh*_*kzh 105
bash,zsh壳如果您不想记住另一个函数并且不介意 bashisms:
$ mkdir /home/foo/doc/bar && cd $_
Run Code Online (Sandbox Code Playgroud)
该$_(美元下划线)bash命令变量包含了最新的参数。因此,如果用户要在命令行中键入以下内容:echo foo bar && echo $_ baz,则输出将如下所示:
foo bar
bar baz
Run Code Online (Sandbox Code Playgroud)
fish壳牌在鱼壳中,我会输入以下内容:
> mkdir /home/foo/doc/bar > 光盘 alt + ↑
alt 键与向上或向下箭头键组合将循环查看命令参数历史记录。
And*_*ndy 47
我不是 Linux/bash 专家,但试着把它放在你的.bashrc.
function mkdir
{
command mkdir $1 && cd $1
}
Run Code Online (Sandbox Code Playgroud)
PS 感谢丹尼斯使用command mkdir.
Avi*_*pta 39
对于oh-my-zsh用户:
$ take 'directory_name'
参考:https : //github.com/robbyrussell/oh-my-zsh/wiki/Cheatsheet
小智 11
关于什么:
$ mkdir newdirname; cd $_
Run Code Online (Sandbox Code Playgroud)
它比使用&& 容易一些,结合quack quixote 和kzh 的答案。
你可以尝试这样的事情:
#!/bin/sh
mkdir $1 && cd $1
Run Code Online (Sandbox Code Playgroud)
将此脚本保存到路径中的某个位置,例如 /usr/local/bin 或 ~/bin(您必须将最后一个放入 ~/.profile 文件中的路径中)。然后你可以简单地调用它。
小智 5
$echo 'mkcd() { mkdir -p "$@" && cd "$_"; }' >> ~/.bashrc
$mkcd < pathtofolder/foldername >
Run Code Online (Sandbox Code Playgroud)
这是我放入~/.config/fish/config.fish文件中的一个简单函数,用于完成此任务:
function mkcd
mkdir -pv $argv;
cd $argv;
end
Run Code Online (Sandbox Code Playgroud)
该-pv标签允许创建带有子目录的目录。
| 归档时间: |
|
| 查看次数: |
51569 次 |
| 最近记录: |