質問: WSL2上でフォルダ作成するシェルスクリプトを書いているのですが、以下のようなエラーが出てしまいできません。 ``` mkdir: cannot create directory ‘/home/username/hoge/data’: Permission denied ``` スクリプトは以下のとおりです。 ``` read NAME dir_path="/home/username" mkdir -p ${dir_path}/${NAME}/data/output mkdir -p ${dir_path}/${NAME}/features ``` `home/username`はusernameに権限がついているのも確認済みなのですが。。 Linux初心者ですので、よろしくお願いいたします。 **追記** 権限ですが、 `drwxr-xr-x 9 username username 4096 Nov 14 10:07 username` でした。 2~4文字目が全部権限がついているので大丈夫という認識でした。 また、`username`上で`mkdir test`をするとフォルダ作成できました。 絶対パスでの指定がまずいのでしょうか。
回答: hogeを作成時点でデフォルトパーミッションでhogeディレクトリ作成されます。※親の権限は引き継ぎません。 そのデフォルトパーミッション的にhogeの下に子ディレクトリ作成できなくなっていないでしょうか? shの実行者がusernameなのかも気になります。 1度hogeまで作成するshに変えて実行してみて、作成された/home/username/hogeの権限を確認してみてはいかがでしょう。