コマンドの前にumask 000を使用したにもかかわらず、シェルスクリプトは「許可されていません」を取得します。

コマンドの前にumask 000を使用したにもかかわらず、シェルスクリプトは「許可されていません」を取得します。

一部のファイルを新しいディレクトリにコピーしようとするシェルスクリプト(build.sh)があります。しかしそれは言います:

mkdir: '/files/ondisk/shared//comp/auto/bleeding-1169-b28d31a' ディレクトリを作成できません: 権限が拒否されました。

スクリプトを実行するとき。

コマンドは次のとおりです。

( umask 000; mkdir -p "${BASE}/${TARGET}" ) || exit -1
( umask 000; cp -r ${STORE} "${BASE}/${TARGET}" ) || exit -1

umask 000はその場所に書き込むことを保証しませんか?

ベストアンサー1

パス名の二重スラッシュが奇妙に見えます。たぶんあなたは書く権限がない${BASE}かもしれません/files/ondisk/shared。この値は、コピーされる既存のディレクトリではなく、作成されumaskたディレクトリとファイルの権限にのみ影響するため、重要ではありません。mkdircp

おすすめ記事