Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/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
如何避免由于套接字文件导致的linux移动错误?_Linux_Bash_Mv - Fatal编程技术网

如何避免由于套接字文件导致的linux移动错误?

如何避免由于套接字文件导致的linux移动错误?,linux,bash,mv,Linux,Bash,Mv,我有一个mv文件夹行,显示了一条令人困惑的消息,因为该文件夹中有一个套接字文件 是否有办法更改它,使其不会显示此错误。我并不真正关心这个套接字文件,因为它的寿命是短暂的,我只需要确保我将文件夹移动(归档)到另一个安全的位置 mv /tmp/env-DkKZrr3 /home/user/some-path/ mv: cannot stat ‘/tmp/ir-venv-DkKZrr3/10.0.0.101-cloud-user’: No such file or directory 我知道我可以重

我有一个
mv文件夹
行,显示了一条令人困惑的消息,因为该文件夹中有一个套接字文件

是否有办法更改它,使其不会显示此错误。我并不真正关心这个套接字文件,因为它的寿命是短暂的,我只需要确保我将文件夹移动(归档)到另一个安全的位置

mv /tmp/env-DkKZrr3 /home/user/some-path/
mv: cannot stat ‘/tmp/ir-venv-DkKZrr3/10.0.0.101-cloud-user’: No such file or directory
我知道我可以重定向stderr,但我更愿意只避免或忽略这些特定类型的错误,而不是其他错误。

好吧,您不能只“忽略”某种类型的错误消息。根据您的要求,我认为这可能是一种更好的方法,在您
mv
之前检查文件类型。您可以通过以下方式检查文件是否为套接字:

[ -S <yourFilePath> ]
[-S]
将此检查添加到脚本中,如果结果为
True
,则跳过移动文件。我想应该没问题


Grep
我不建议使用这里的技巧,因为如果你移动一个不存在的文件,错误消息看起来是一样的,你无法区分它是一个不存在的错误还是一个套接字文件错误。

即使你收到这个警告,其他文件也被移动了,对吗?@Aserre yes,这只是一个警告,但在CI日志中会引起混淆,我想避免它。如果您只想支持来自
mv
的所有错误,可以重定向stderr的输出:
mv/tmp/env-DkKZrr3/home/user/some path/2>/dev/null
。但是,这将清除
mv
中的所有错误,包括权限错误。
grep-v
on STDERR?Stack Overflow是一个用于编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参见帮助中心中的。也许或者会是一个更好的提问的地方。