![単一の「mkdir」コマンドで新しいディレクトリを作成して同時に変更できますか? [コピー]](https://linux33.com/image/142469/%E5%8D%98%E4%B8%80%E3%81%AE%E3%80%8Cmkdir%E3%80%8D%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%A7%E6%96%B0%E3%81%97%E3%81%84%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E3%82%92%E4%BD%9C%E6%88%90%E3%81%97%E3%81%A6%E5%90%8C%E6%99%82%E3%81%AB%E5%A4%89%E6%9B%B4%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%81%8B%EF%BC%9F%20%5B%E3%82%B3%E3%83%94%E3%83%BC%5D.png)
クイック質問:
「mkdir」を使用して新しいディレクトリを作成し、単一の「mkdir」コマンドを使用して同時にそのディレクトリに変更できますか?
完全な質問:
この問題があります。
What single Linux “mkdir” command could replace the sequence of commands?
mkdir a
cd a
mkdir b
cd b
mkdir c
cd ../..
私の答えは次のとおりです。
mkdir a b c && cd c
他のコマンドを使用せずに、フラグなどを使用して同時にディレクトリを作成および変更するために使用できる "mkdir"コマンドはありますか?
答え1
mkdir
他の手順と同じ操作を実行するために単一のコマンドを使用することに関するあなたの質問には、実際にはディレクトリの変更は含まれません。終了すると、cd ../..
起動したディレクトリに戻ります。
実際、この一連のコマンドはディレクトリを作成し、その中にディレクトリa
(b
つまり)を生成し、次に作成されたばかりのディレクトリa/b
(つまり.)を生成します。c
b
a/b/c
mkdir
親ディレクトリを作成したら、入れ子になったディレクトリを生成する単一のコマンドを使用して同じ操作を実行できます。
mkdir a a/b a/b/c
mkdir
別の方法はsオプションを使用することです-p
。このオプションは必要に応じて親ディレクトリを作成するため、これを指定する必要はありません。
mkdir -p a/b/c
mkdir
これは、タイトルの質問に対する回答ではなく(mkdir + cdの場合はコメント内の重複項目を参照)、むしろシーケンスの終わりにディレクトリが同じシーケンスに対する同等の単一コマンドに関するテキストの質問を解決します。初めてのように。
答え2
関数として実行します。
mkcdir ()
{
mkdir -p -- "$1" &&
cd -P -- "$1"
}