MC(真夜中の司令官)を使用して、名前に日付を含む選択したディレクトリを圧縮したいと思います(例:dirname_20131231.tar.gz
)
ユーザーメニューのコマンドは次のとおりです。
tar -czf dirname_`date '+%Y%m%d'`.tar.gz %d
%m
、および%d
がMCで別の意味を持っているため、アーカイブがありません。日付のエイリアスを作成しましたが、機能しません。
誰かがこの問題を解決したことがありますか?
パーセント記号を回避するには、それらを2倍にします。
tar -czf dirname_$(date '+%%Y%%m%%d').tar.gz %d
上記は、現在のディレクトリ(%d)を現在のディレクトリ内のファイルに圧縮します。現在のディレクトリではなくカーソルが指すディレクトリを圧縮する場合は、代わりに%fを使用します。
tar -czf %f_$(date '+%%Y%%m%%d').tar.gz %f
mc
は特殊文字のエスケープを処理するため、%fを引用符で囲む必要はありません。
ちなみに、深夜の司令官によるパーセント記号の特別な扱いは、ユーザーメニューファイルだけでなく、コマンドラインでも行われます。これは、${var%.c}
のような構造でシェルコマンドを使用する場合の問題です。コマンドラインでは、ユーザーメニューファイルと同じように、パーセント記号を2倍にすることでエスケープできます。