首先,对此的任何支持和帮助都非常感谢。
我正在尝试编写一个简单的Bash脚本(对此全新)来替换给定目录中的文件。
基本上,我需要编写一个脚本来替换safari首选项文件,这就是我所拥有的......以及那些不起作用的内容:
#!/bin/bash
find /Files/ -iname "com.apple.Safari.plist" - print0 | xargs -I{} -0 -1 cp file /Users/{}/Library/Preferences
以下内容出错:
find: -: unknown option
xargs: illegal option -- 1
任何想法,想法,都非常感谢。
谢谢,
答案 0 :(得分:1)
我无法理解你想用这个完成什么。据我了解,你会在/ Files /中使用这个“com.apple.Safari.plist”,这是正确的吗?
然后你想把这个文件放到某个地方,我认为,它会覆盖Safari当前的plist文件。假设你接受了ghostdog74的正确建议并删除- print0
之间的空格,从而将其转换为-print0
,然后从xargs中移除-1
,因为它不存在,这就是发生:
find
会在/ Files /中找到您的文件,而xargs
会运行此文件:
cp file /Users/com.apple.Safari.plist/Library/Preferences
;它会死掉,因为它找不到名为“file”的文件或名为“/Users/com.apple.Safari.plist /".
这很可能不是你想要的。 :)
如果您只想将文件复制到某个地方,为什么不执行cp /Files/com.apple.Safari.plist ~/Library/Preferences/
?
在这种情况下,你真的需要find
和xargs
吗?你能澄清一下吗?
答案 1 :(得分:0)
- print0
之间没有空格。由于-1
不是一个选项,请将其删除并查看。
find /Files/ -iname "com.apple.Safari.plist" -print0 | xargs -I{} -0 cp file /Users/{}/Library/Preferences