linux – Midnight Commander,在用户菜单中使用日期

我想使用MC(午夜指挥官)来压缩选定的目录,并在其名称中加上日期,例如:
dirname_20131231.tar.gz

用户菜单中的命令是:

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

存档丢失,因为%m和%d在MC中具有其他含义.
我为日期做了一个别名,但它也不起作用.

有人解决了这个问题吗?

解决方法:

为了逃避百分号,加倍:

tar -czf dirname_$(date '+%%Y%%m%%d').tar.gz %d

上面会将当前目录(%d)压缩到当前目录中的文件.如果要压缩光标所指向的目录而不是当前目录,请使用%f代替:

tar -czf %f_$(date '+%%Y%%m%%d').tar.gz %f

mc处理特殊字符的转义,因此不需要将%f放在引号中.

顺便说一下,午夜指挥官对百分号的特殊处理不仅发生在用户菜单文件中,还发生在命令行中.将shell命令与${var%.c}等结构一起使用时,这是一个问题.在命令行中,与用户菜单文件中的相同,百分号可以通过加倍来转义.

上一篇:linux – Midnight Commander – 重新扫描压缩存档


下一篇:minio