刚刚在几秒钟内完成了这个......我对Bash不太了解,我还在学习......但我想知道这是否会起作用..如果它不起作用,我该怎么做才能让它正常工作?
解释我想要做什么...
创建整个world文件夹的ZIP备份,并在backups目录下创建zip,并命名约定为... world_(当前日期和时间为$(日期)打印出来,除了所有替换为得分不足的空格)
zip -r /backups/world_${$(date)// /_} /home/mc/world/
先谢谢!
答案 0 :(得分:1)
此:
echo /backups/world_$(date | sed 's/ /_/g')
产生
/backups/world_Mon_Feb__3_21:56:33_PST_2014
似乎是你想要的。
${$(date)// /_}
的问题是shell期望大括号内的shell变量,而不是文本字符串。上面的解决方案使用命令替换($(...)
),因为date
和sed
都是命令,所以它可以工作。