Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
&引用;没有这样的文件或目录;关于简单bash重定向_Bash_Io Redirection - Fatal编程技术网

&引用;没有这样的文件或目录;关于简单bash重定向

&引用;没有这样的文件或目录;关于简单bash重定向,bash,io-redirection,Bash,Io Redirection,以下是我的一些代码: 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

以下是我的一些代码:

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
不存在(尽管Sunday存在),这就是为什么我要你写信给它

完整程序代码:

#!/bin/bash now=$(date +"%A") mkdir -p /var/www/wiki/backups/$now databases=(bmshared brickimedia_meta brickimedia_en brickimedia_customs) locations=("/var/www/wiki/skins" "/var/www/wiki/images" "/var/www/wiki/") for db in ${databases[*]} do #command with passwords and shoodle : done for path in ${locations[*]} do #echo "" > var/www/wiki/backup/$now/$file.gz file=`echo $path | cut -d/ -f5` echo $path gzip -c $path > /var/www/wiki/backup/$now/$file.gz done #!/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[*]}中的数据库 做 #带有密码和密码的命令 : 完成 对于${locations[*]}中的路径 做 #echo'>var/www/wiki/backup/$now/$file.gz file=`echo$path | cut-d/-f5` echo$path gzip-c$path>/var/www/wiki/backup/$now/$file.gz 完成
创建的目录是备份,gzip是备份

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

gzip -c $path > /var/www/wiki/backup/$now/$file.gz
您的位置之一是“/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
这是个问题,但不是你报告的错误


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

路径/var/…/Sunday是否存在?@Suspestics是。(我在文件顶部创建了它!)(这有关系吗?)!你能多发一些剧本吗?只有在执行
gzip
时,
/var/www/wiki/backup/Sunday/
不存在时,这个错误才有意义。大概gzip是每天运行的,但可能不是在周日?这个答案实际上帮助了我。。。原来我也打错了!