web-dev-qa-db-ja.com

真夜中の司令官、ユーザーメニューの日付を使用

MC(真夜中の司令官)を使用して、名前に日付を含む選択したディレクトリを圧縮したいと思います(例:dirname_20131231.tar.gz

ユーザーメニューのコマンドは次のとおりです。

tar -czf dirname_`date '+%Y%m%d'`.tar.gz %d

%m、および%dがMCで別の意味を持っているため、アーカイブがありません。日付のエイリアスを作成しましたが、機能しません。

誰かがこの問題を解決したことがありますか?

4
user2013619

パーセント記号を回避するには、それらを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倍にすることでエスケープできます。

5
John1024