GNU/Linux >> Linux の 問題 >  >> Linux

Mkdir:ディレクトリを作成できません:そのようなファイルまたはディレクトリはありませんか?

この質問にはすでに回答があります :チルダ(〜)が二重引用符で囲まれないのはなぜですか?

(4つの回答)
3年前に閉鎖されました。

以下のコマンドの何が問題になっていますか?

$ var1="~/Music/$(date +%d%m%y)"
$ echo "$var1"
~/Music/240118
$ mkdir "$var1"
mkdir: cannot create directory ‘~/Music/240118’: No such file or directory

ただし

$ mkdir ~/Music/240118

動作します。

何年もbashを使用した後、私がそのような質問をするだろうとは思っていませんでした…

承認された回答:

変数が展開された後はチルダ展開が機能しないため、varにリテラルチルダを配置すると 、mkdirへの文字通りのチルダとして終了します 。 (mkdirからのエラーメッセージに注意してください ホームディレクトリの実際のパスではなく、文字通りのチルダが含まれています。)

また、割り当てではチルダを引用符で囲んでいるため、チルダも拡張されません。引用符で囲まれていない場合は、次のようになります。

$ var="~/Music"; echo $var
~/Music
$ var=~/"Music"; echo $var
/home/me/Music

もちろん、いつでも$HOMEを使用できます。 代わりに:

$ var="$HOME/Music"; echo $var
/home/me/Music

Linux
  1. 共有ライブラリの読み込み中の Linux エラー:共有オブジェクト ファイルを開けません:そのようなファイルまたはディレクトリはありません

  2. zip ファイルを作成し、ディレクトリ構造を無視する

  3. Bash:そのようなファイルやディレクトリはありませんか?

  1. cp:ディレクトリを作成できません:そのようなファイルまたはディレクトリはありません

  2. ImportError:libtk8.6.so:共有オブジェクト ファイルを開けません:そのようなファイルまたはディレクトリはありません

  3. vifmにディレクトリを作成

  1. Linuxで複数のディレクトリを作成する5つの例

  2. Linux で新しいディレクトリを作成する方法

  3. touch:`foo' に触れられません:そのようなファイルやディレクトリはありません