我正在尝试在bash中创建一个备份脚本,以tar文件夹的内容并将生成的文件移动到某个地方,但我真的不知道该怎么做.
#!/bin/bash
name="$date +"%y-%m-%d""
tar -zcvf $name code
Run Code Online (Sandbox Code Playgroud)
但结果是该文件刚刚命名+%y-%m-%d.如何更改脚本以按预期的日期命名文件?
预期产量: 2013-08-29.tar
我想在文件名旁边添加日期("somefile.txt").例如:somefile_25-11-2009.txt或somefile_25Nov2009.txt或其他任何效果
也许脚本会在终端窗口中执行或执行某些命令.我正在使用Linux(Ubuntu).
提前致谢.
哦,我几乎忘了添加脚本或命令应该每次要将文件保存到特定文件夹但仍保留以前的文件时将文件名更新为新的日期.所以文件夹中最终会有这样的文件:filename_18Oct2009.txt,filename_9Nov2009.txt,filename_23Nov2009.txt
我正在尝试创建一个bash别名,每次调用别名时都会打印当前的UNIX时间戳.我的bash配置文件中包含以下内容:
alias unix="echo "$(date +%s)""
Run Code Online (Sandbox Code Playgroud)
但是,似乎一旦获取bash配置文件,就会存储当前的unix时间戳,并且每次调用别名时它都不会更改.
例如,如果我将unix别名分别调用三次10秒,则输出始终相同.如何创建一个别名来评估调用别名时的unix时间戳.这可能吗?
我正在尝试执行一个systemd计时器,并希望每个日期将执行的脚本的输出保存在文件中.这是我ExecStart在.service文件中的脚本:
ExecStart=/bin/bash -c 'echo $(date +%Y-%m-%d) >> /home/username/test_output_$(date +%Y-%m-%d).log'
Run Code Online (Sandbox Code Playgroud)
这会创建文件,但会添加"哈希"而不是月份名称:
~/test_output_2017-ea3c0c2dd56c499a93412641e41008db-01.log
Run Code Online (Sandbox Code Playgroud)
内容是一样的:
2017-ea3c0c2dd56c499a93412641e41008db-01
Run Code Online (Sandbox Code Playgroud)
如果我/bin/bash -c 'echo $(date +%Y-%m-%d)'在shell中运行而不通过systemd服务传递它,它会按预期工作.印刷品:
2017-09-01.
%m除了systemd环境中的月份数之外,它代表什么?
知道如何设置systemd服务以将脚本的标准输出放入具有当前日期的文件中吗?预期结果:
test_output_2017-09-01.log
谢谢.