1. ホーム
  2. linux

[解決済み] Unix - フォルダとファイルのパスを作成する

2022-05-17 03:43:54

質問

私は、あなたが mkdir でディレクトリを作成し touch でファイルを作成することができますが、両方の操作を一度に行う方法はないのでしょうか?

例えば、私が以下のことをしたい場合、フォルダ other が存在しない場合。

cp /my/long/path/here/thing.txt /my/other/path/here/cpedthing.txt

エラーです。

cp: cannot create regular file `/my/other/path/here/cpedthing.txt': No such file or directory

この回避策として、どなたか関数を思いつかれた方はいらっしゃいますか?

どのように解決するのですか?

使用方法 && を使って、2つのコマンドを1つのシェル行にまとめることができます。

COMMAND1 && COMMAND2
mkdir -p /my/other/path/here/ && touch /my/other/path/here/cpedthing.txt

注意:以前、私は ; を使うことを推奨していましたが、@trysis が指摘したように、おそらく && を使う方がよいでしょう。 COMMAND1 が失敗した場合 COMMAND2 も実行されません。(そうでなければ、想定外の問題が発生する可能性があります)。