默认情况下rsync验证写入的文件以确保它与原始文件匹配。我可以通过从 /sys 复制一个易失性文件来重现这一点
$ rsync -v /sys/power/state /tmp/
state
rsync: read errors mapping "/sys/power/state": No data available (61)
WARNING: state failed verification -- update discarded (will try again).
state
rsync: read errors mapping "/sys/power/state": No data available (61)
ERROR: state failed verification -- update discarded.
sent 8,328 bytes received 133 bytes 16,922.00 bytes/sec
total size is 4,096 speedup is 0.48
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1165) [sender=3.1.0]
Run Code Online (Sandbox Code Playgroud)
是否有选项可以将此错误转换为警告并且不会再次丢弃该文件?
上下文:我想使用 rsync …
所以我有一个程序可以叫它foo。我正在尝试使用以下命令将其终端输出重定向到一个文件。
foo > ./someFile.txt
Run Code Online (Sandbox Code Playgroud)
现在,当我运行该命令时,会创建 someFile.txt,但它是空的。关于如何重定向终端输出的任何建议?
我想更换猫:
var=$(cat "filename" 2>/dev/null)
Run Code Online (Sandbox Code Playgroud)
通过 bashism 语法:
var=$(<"filename")
Run Code Online (Sandbox Code Playgroud)
问题是我不知道如何让 bashism 保持沉默以避免此类警告:
bash: filename: No such file or directory
Run Code Online (Sandbox Code Playgroud)
我试过这个:
var=$(2>/dev/null <"filename")
Run Code Online (Sandbox Code Playgroud)
但它不再将现有文件读入var。