dateコマンドで正しく出力されないものをスクリプトしようとしています。ここで私はこれまで持っているものの内容です:dateそのようなファイルやディレクトリがありません
#!/bin/bash
# Get RPM manifest
# Output written to /tmp
NOW=$(date +%D)
rpm -qa --qf="%{NAME}.%{ARCH}\n" | sort > /tmp/$HOSTNAME.RPM_Manifest.$NOW.txt
私はこのスクリプトを実行すると、私はこのメッセージが表示されます。
[[email protected] ~]# sh /usr/local/bin/rpm_manifest.sh
/usr/local/bin/rpm_manifest.sh: line 7: /tmp/linmachine1.RPM_Manifest.03/01/17.txt: No such file or directory
私は問題は日付がNOW変数Iの内部フォーマットする方法である疑いがあります定義することが原因かもしれません。私は引用符の有無にかかわらず試して、同じことを得る。マニュアルページを見ると、フォワードスラッシュがドットで置き換えられるようなデフォルトの動作を変更する方法は見当たりませんでした。これは、問題がどこにあるのかと思っています。
編集:ご返信いただきありがとうございます。私は本当にこれがなぜ落とされたのか分からない。私は正当な質問をしました。何がありますか?
を好むものは何でもして
.
を置き換えます。ファイルを 'chmod + x'で実行可能にして直接実行するか、' bash'で実行してください – Aserreファイル名を 'sort>"/tmp/$ HOSTNAME .... txt "' – fedorqui
としてください。かなり明示的です。 'date'の問題はありませんが、出力ファイルを開くと(シェルが' date'を開始する前に*発生します)、ディレクトリ ' tmp/linmachine1.RPM_Manifest.03/01'が存在しません。 –