我需要在 shell 脚本中运行此命令复制源 > 目标并排除一个文件夹。
没有 rsync、tar、find、mv 等。
正是这个命令:
cp -var test/!(test2) testbkp
- 在 shell 中它可以工作
- 从 Bash 脚本运行,无需排除,就像
cp -var test testbkp
它的工作原理一样。
当我尝试使用排除选项从 Bash 脚本运行时
cp -var test/!(test2) testbkp
,它不起作用。
没有任何输出,什么也没有,也没有错误消息。
我也检查了这个帖子,但没有结果: 如果从 shell 脚本执行,cp 命令将不会运行
如何在 Bash 脚本中运行此 cp 命令并排除文件夹?
答案1
您应该启用该extglob
选项,脚本中默认情况下不启用该选项:
#!/bin/bash
shopt -s extglob
cp -var test/!(test2) testbkp
还要验证脚本确实在 bash 下运行。