我有一个shell脚本,它将一些文件复制到当前目录,压缩它们,并将压缩的文件流到stdout。
在客户端,我使用plink执行脚本并将stdin流式传输到文件。
这几乎行得通。
似乎cp命令从脚本内部执行时输出要复制的文件名。如果我在shell中执行'cp/path/to/file1',它会安静地执行;如果我在脚本中执行它,它会输出“file1”。
我该如何预防?我试过将cp命令的输出管道化为/dev/null和一个伪文本文件,但没有成功。
谢谢你的帮助。
剧本
#!/bin/bash
cp /path/to/file1 .
cp /path/to/file2 .
cp /path/to/file3 .
tar -cvzf package.tgz file1 file2 file3
cat package.tgz
输出
file1
file2
file3
<<binary data>>
最佳答案
不是CP,是焦油。您传递的是-v,它将打印文件名。
关于linux - 防止'cp'从bash脚本输出文件名,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/270933/