パラメータ拡張に欠けている部分があるようです。

パラメータ拡張に欠けている部分があるようです。

私は現在単純なスクリプトを書く方法を学んでいますが、非常に単純な問題を解決することはできません。

私のスクリプトには次のコマンドがあります...

touch ${DIRECTORY}/${FILE}

このコマンドは私のスクリプトに何度も表示され、1つのインスタンスを除いてすべて正常に動作します。何らかの理由で、どの時点で作成したいファイル名にスラッシュを含めることにしましたが、エラーが発生しました。

cannot touch `/myfile.dat': Permission denied

当初、私はこれが私の経験の欠如によるものかもしれないと思いました(おそらくそうです)。しかし、いくつかの調査の後、私はこの行が多数の例でうまく機能することを発見しました。わかりません。同じ行が私のスクリプトの他のいくつかの場所でうまく動作します!

誰でも説明できますか?この不一致は私を本当に迷惑にさせます。その特定のコマンドに関連するコマンドは結果に影響しますか?

ベストアンサー1

空のようです${DIRECTORY}。この場合、タッチは${DIRECTORY}/${FILE}次に拡張されます。touch /${FILE}

おすすめ記事