これは私が頻繁に行うことです
$ mkdir foo
$ cd foo
これは単一のコマンドとして機能しますが、より多くのキーストロークで時間を節約できません。
$ mkdir foo && cd foo
これのショートカットはありますか?
以下のヘルプを使用すると、これは最もエレガントな答えのようです。
# ~/.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
}
私はLinux/bashの専門家ではありませんが、これを.bashrc
に入れてみてください。
function mkdir
{
command mkdir $1 && cd $1
}
PS command mkdir
をご利用いただきありがとうございます。
bash
、zsh
シェル別の関数を覚えてほしくなく、バシズムを気にしない場合:
$ 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キーと上矢印キーまたは下矢印キーのいずれかと組み合わせると、コマンドパラメータの履歴が循環します。
oh-my-zshユーザーの場合:$ take 'directory_name'
リファレンス: https://github.com/robbyrussell/oh-my-zsh/wiki/Cheatsheet
何について:
$ mkdir newdirname; cd $_
&&を使用するよりも簡単です。quackquixoteの回答とkzhの回答を組み合わせます。
あなたはこのようなことを試すことができます:
#!/bin/sh
mkdir $1 && cd $1
このスクリプトをパス内のどこかに保存します。たとえば、/ usr/local/binまたは〜/ bin(この最後のスクリプトを〜/ .profileファイルのパスに入れる必要があります)。その後、単にそれを呼び出すことができます。
$echo 'mkcd() { mkdir -p "$@" && cd "$_"; }' >> ~/.bashrc
$mkcd < pathtofolder/foldername >
これは、このタスクを実行する~/.config/fish/config.fish
ファイルに入れた簡単な関数です。
function mkcd
mkdir -pv $argv;
cd $argv;
end
-pv
タグを使用すると、サブディレクトリを持つディレクトリを作成できます。
以下の関数は1つのディレクトリしか作成できないことがわかりました。同時にサブディレクトリを作成したい場合、機能しません。
function mkdir
{
command mkdir $1 && cd $1
}
だから私はそれを変更しましたが、今はうまくいきます!
function mkcd
{
command mkdir -pv $1 && cd $1 && echo "Now in `pwd`"
}
ディレクトリがすでに存在する場合、目的の結果によって異なります。
ディレクトリがすでに存在する場合は失敗
mkcd() {
mkdir $1 && cd $1
}
ディレクトリに関係なく変更
mkcd() {
mkdir $1 ; cd $1
}
使用方法 mkcd some/path/to/my/dir