我正在从 kermit 创建一个名为当前日期的日志文件(格式为 DD MMM YYYY - 据我所知无法更改),并使用文件名作为今天的日期。
然后我有一个 Bash 脚本来读取该文件,并且我想要tail -n1
该文件。
如果我做
filename=$(date +%d\ %b\ %Y) && echo $filename
我明白了
23 Feb 2015
这就是我想要和期待的。但是如果我那么做
filename=$(date +%d\ %b\ %Y) && tail -n1 $filename
我明白了
tail: cannot open `23' for reading: No such file or directory
tail: cannot open `Feb' for reading: No such file or directory
tail: cannot open `2015' for reading: No such file or directory
我不确定是什么原因造成的,可能是我的字符串格式化方式所致,因为如果我使用tail
or ,我会得到相同的结果cat
?
答案1
双引号你的变量。双引号你的变量。双引号你的变量。
filename=$(date +'%d %b %Y') && tail -n1 "$filename"