【问题标题】:"No such file or directory" on simple bash redirection简单 bash 重定向上的“没有这样的文件或目录”
【发布时间】:2013-03-14 02:06:40
【问题描述】:

这是我的一些代码:

gzip -c $path > /var/www/wiki/backup/$now/$file.gz

我正在压缩$path 的内容(目录的路径),然后将压缩文件发送到/var/www/wiki/backup/$now/$file.gz$now 包含目录名称,$file 是我要写入压缩文件的名称。

但是,在运行程序时,我收到此错误:

backup.sh: line 20: /var/www/wiki/backup/Sunday/extensions.gz: No such file or directory
                                         ^$now    ^$file

(第20行是上面给出的那一行)

程序为什么会中断?我知道Sunday/extensions.gz 不存在(虽然周日存在),这就是为什么我要你写信给它!

完整程序代码:

#!/bin/bash 现在=$(日期 +"%A") mkdir -p /var/www/wiki/backups/$now 数据库=(bmshared brickimedia_meta brickimedia_en brickimedia_customs) 位置=("/var/www/wiki/skins" "/var/www/wiki/images" "/var/www/wiki/") 对于 ${databases[*]} 中的数据库 做 #command 带密码和 shoodle : 完毕 ${locations[*]} 中的路径 做 #echo "" > var/www/wiki/backup/$now/$file.gz 文件=`回显 $path |剪切-d/-f5` 回声$路径 gzip -c $path > /var/www/wiki/backup/$now/$file.gz 完毕

【问题讨论】:

  • 路径 /var/..../Sunday 是否存在?
  • @suspectus 是的。 (我在文件顶部创建了它!)(这有关系吗?)
  • 我的速读有时不合适!
  • 你能发布更多的脚本吗?只有在 gzip 执行时 /var/www/wiki/backup/Sunday/ 不存在时,该错误才有意义。
  • 大概 gzip 每天运行 - 但可能不是在星期日运行?

标签: bash io-redirection


【解决方案1】:

创建的目录是backups,gzip是backup

mkdir -p /var/www/wiki/backups/$now

gzip -c $path > /var/www/wiki/backup/$now/$file.gz

【讨论】:

  • 这个答案实际上帮助了我......原来我也打错了!
【解决方案2】:

您的位置之一是“/var/www/wiki/”。然后你有

file=`echo $path | cut -d/ -f5`
gzip -c $path > /var/www/wiki/backup/$now/$file.gz

由于$file 包含空字符串,您正在尝试写入/var/www/wiki/backup/Sunday/.gz。这是一个问题,但不是您报告的错误。

当我尝试 gzip 目录时,我收到此错误

$ gzip -c ./subdir/ > subdir.gz
gzip: ./subdir/ is a directory -- ignored

这是个问题,但不是您报告的错误。

@suspectus 解决了您报告的问题。

【讨论】:

    猜你喜欢
    • 2016-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-11
    • 1970-01-01
    相关资源
    最近更新 更多