エラーが発生します。
touch: cannot touch `/opt/tsrm/compliance/cme/log/20121207.log`: No such file or directory
タッチ時のコマンド:touch $LOGFILE
また、リンクを確認しました。touch: 'foo'に触れることができません:そのファイルまたはディレクトリがありませんしかし、答えを理解していません。
注:これも得ました。オプションをmkdir: cannot create directory
追加して-p
問題を解決しました。
これは私が使用しているLinuxのバージョンに関連している可能性がありますか?
答え1
ファイルを保存するパスがありません。
/opt/tsrm/compliance/cme/log/
ここでエラーが発生します。
答え2
パスを間違って入力したようです。たとえば、フォルダが/stuff/more_stuff
存在しません。結果は次のとおりです。
user@linux:~ $ touch /stuff/more_stuff/stuff.file
touch: cannot touch `/stuff/more_stuff/stuff.file': No such file or directory
両方が必要な/stuff
機能を/stuff/more_stuff
実行できます。touch
答え3
この回答が愚かな場合でも、欠落しているディレクトリに加えて、値の周りに文字列区切り文字がある可能性があります。$LOGFILE
布材:
LOGFILE=/stuff/more_stuff/stuff.file
touch $LOGFILE
動作しない:
LOGFILE="/stuff/more_stuff/stuff.file"
touch $LOGFILE
一部のLinuxディストリビューションには上記のような特徴があるので注意してください;)
答え4
はい、タイプミスがあるか、ディレクトリが存在しない可能性があります。
LOGFILE="/opt/tsrm/compliance/cme/log/20121207.log"
LOG_DIR=`dirname $LOGFILE`
[ ! -d $LOG_DIR ] && mkdir -p $LOG_DIR
touch $LOGFILE