gpt4 book ai didi

linux - 连接日期时的shell脚本奇怪的文件名

转载 作者:太空宇宙 更新时间:2023-11-04 09:32:41 27 4
gpt4 key购买 nike

我正在做一个简单的任务,将文件夹备份为 .tgz 格式。

这是我的脚本:

noww=$(date +'%m_%d_%Y') 
file_extension=".tgz"
archive_file="pppbackup$noww$file_extension"
echo "date:$noww"
echo "start backing up to $archive_file"
sudo tar -zcvf $archive_file /opt/pppaddon

我得到了文件,但名字很奇怪。执行 ls 命令,名称显示为“??”在最后。pppbackup04_22_2015.tgz??我不知道这是什么谷歌。我怎样才能解决这个问题?我也无法下载文件

最佳答案

问题编辑前

这一行:

archive_file="pppbackup$noww$file_extension" echo "date:$noww" 

创建一个环境变量 $archive_file,只要它执行 echo 命令(或覆盖它以前的值),仅此而已。 echo 完成后,下一行将执行,就像您从未分配给 $archive_file 一样。

分割线:

archive_file="pppbackup$noww$file_extension"
echo "date:$noww"

您应该在 bash -x 下运行命令/脚本以查看发生了什么。您还可以在分配行前后添加 echo "archive_file=[$archive_file]"。您可能会选择前一段时间创建的错误值。由于您的备份仅注明日期 - 它不包括时间戳 - 您可能在不久前无意中创建了该变量,并且之前没有注意到它是伪造的。

问题编辑后

如果在拆分错误行后问题仍然存在,请在 bash -x 下运行修改后的脚本,并将输出和错误输出通过管道传输到您首选的用于制作不可打印字符的工具可见的。在极端情况下,使用:

bash -x yourscript.sh 2>&1 | od -c

但任何使有趣的字符清晰可见的程序都可以。您可以找出 ?? 真正代表什么。然后我们可以更好地调试您看到的内容。

关于linux - 连接日期时的shell脚本奇怪的文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29789363/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com