Shell脚本如何组合变量和通配符

Shell脚本如何组合变量和通配符,shell,scripting,Shell,Scripting,我有一个简单的shell脚本,可以同时运行多个命令。我不知道该怎么做: 'mkdir -p $FULL_BACKUP_PATH; cp -r $FULL_PATH/* $FULL_BACKUP_PATH/.;' 如果我使用单引号,变量不会得到值,如果我使用双引号,通配符不会展开 请帮忙 谢谢我想你想要这个: mkdir -p "${FULL_BACKUP_PATH}"; cp -r "${FULL_PATH}/*" "${FULL_BACKUP_PATH}" 双引号内的变量会展开,单引号内的

我有一个简单的shell脚本,可以同时运行多个命令。我不知道该怎么做:

'mkdir -p $FULL_BACKUP_PATH; cp -r $FULL_PATH/* $FULL_BACKUP_PATH/.;'
如果我使用单引号,变量不会得到值,如果我使用双引号,通配符不会展开

请帮忙

谢谢

我想你想要这个:

mkdir -p "${FULL_BACKUP_PATH}"; cp -r "${FULL_PATH}/*" "${FULL_BACKUP_PATH}"
双引号内的变量会展开,单引号内的变量不会展开。如果变量是路径/目录,请始终将它们放在双引号内,以防它们中有空格,因此双引号“将它们放在一起”

如果代码出现在以shebang开头的shell脚本中,如下所示:

#!/bin/bash
#!/bin/bash -xv
您可以在
bash
之后临时添加
-xv
,以查看脚本在执行时的扩展情况,这将帮助您调试脚本,如下所示:

#!/bin/bash
#!/bin/bash -xv