コマンドライン – mkdir foo にショートカットがあり、すぐにそれに cd しますか?

bash command-line shortcuts terminal

これは私が頻繁にやっていることです

$ mkdir foo
$ cd foo

これは単一のコマンドとして動作しますが、より多くのキーストロークで時間を節約することができます

$ mkdir foo && cd foo

近道はありますか?

Edit

下のヘルプを使うと、これが最もエレガントな答えになるようです

# ~/.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
}

  97  macek  2010-06-15


ベストアンサー

Linux/bashの専門家ではありませんが、.bashrcに入れてみてください

function mkdir
{
command mkdir $1 && cd $1
}

PS デニスさんがcommand mkdirを使ってくれたことに感謝します

47  Andy  2010-06-15


bashzshシェル

他の機能を覚えて欲しくなくて、バシズムを気にしないのであれば

$ mkdir /home/foo/doc/bar && cd $_

bash コマンド変数 $_ (ドルアンダースコア) には、最新のパラメータが含まれています。したがって、ユーザがコマンドラインで以下のように入力したとします。echo foo bar && echo $_ baz と入力した場合、出力は以下のようになります

foo bar
bar baz

fish シェル

魚の甲羅の中で、私は次のように入力します

> mkdir /home/foo/doc/bar
> cd alt + ↑

alt キーと上または下矢印キーを組み合わせて使用すると、コマンドパラメータの履歴を循環させます

103  kzh  2011-08-12


oh-my-zsh ユーザの方へ。 $ take 'directory_name'

参考にしてください。https://github.com/robbyrussell/oh-my-zsh/wiki/Cheatsheet

29  Avijit Gupta  2015-07-12


What about:

$ mkdir newdirname; cd $_

クアックキホーテの回答とkzhの回答を組み合わせて、&&を使うよりは、少しは簡単だと思います

11  Alex  2012-03-14


こんな感じで試してみてはいかがでしょうか

#!/bin/sh
mkdir $1 && cd $1

このスクリプトをパス内のどこか、例えば /usr/local/bin や ~/bin に保存してください (最後のものは ~/.profile ファイルのパスに入れなければなりません)。そうすれば、これを簡単に呼び出すことができます

7  petersohn  2010-06-15


$echo 'mkcd() { mkdir -p "$@" && cd "$_"; }' >> ~/.bashrc
$mkcd < pathtofolder/foldername >

5  mshameers  2013-09-19


このタスクを実行するために~/.config/fish/config.fishファイルに入れた簡単な関数を以下に示します

function mkcd
mkdir -pv $argv;
cd $argv;
end

-pvタグは、サブディレクトリを持つディレクトリの作成を可能にします

2  Alex Fenwood Hughes  2018-07-23


zshを使っている場合は、クールなショートカットがあります

take <Your_folder_name>

と入力すると、フォルダが作成され、それに変更されます 😉

1  Taher Hoseini  2020-06-17


ディレクトリが既に存在している場合は、その結果に依存します

すでにディレクトリが存在する場合は失敗します

mkcd() {
mkdir $1 && cd $1
}

関係なくディレクトリを変更します

mkcd() {
mkdir $1 ; cd $1
}

使用法 mkcd some/path/to/my/dir

0  bingles  2015-10-13


以下の関数は1つのディレクトリしか作れないことがわかりましたが、同時にサブディレクトリを作りたい場合は動作しません

function mkdir
{
command mkdir $1 && cd $1
}

だから私はそれを変更して、今では素晴らしい仕事をしています

function mkcd
{
command mkdir -pv $1 && cd $1 && echo "Now in `pwd`"
}

0  user5723841  2017-12-20


これが私には唯一の方法でした

function md
{
command mkdir -vp $1 && command cd $1 && echo "Now in `pwd`"
}

0  dreday13  2020-07-07


タイトルとURLをコピーしました