32

現在のディレクトリがAだとします。ディレクトリBとB内にファイル「myfile.txt」を作成したい。

ターミナルから 1 つのコマンドでそれを行う方法は?

編集:

ディレクトリは複数回ネストできます。B/C/Dを作成し、その中に「myfile.txt」を作成したい場合があります。ディレクトリ部分も繰り返したくありません。

次のコマンドは、任意のレベルでディレクトリを作成します。

mkdir -p B/C/D 

mkdir -p B/C/D && touch B/C/D/myfile.txt

ディレクトリとファイルを作成します。touchしかし、コマンドの後にディレクトリ部分を繰り返したくありません。それは可能ですか?

4

10 に答える 10

0

devnullの答えは機能を提供します:

mkfile() { mkdir -p -- "$1" && touch -- "$1"/"$2" }

この関数はそのままでは機能しませんでしたが (WSL Ubuntu で bash 4.3.48 を実行しています)、二重ダッシュを削除すると機能しました。だから、これは私のために働いた:

echo 'mkfile() { mkdir -p "$1" && touch "$1"/"$2" }' >> ~/.bash_profile
source ~/.bash_profile
mkfile sample/dir test.file
于 2018-06-15T18:27:31.647 に答える