我有一个简单的shell脚本可以同时运行多个命令。我无法弄清楚如何做到这一点:
'mkdir -p $FULL_BACKUP_PATH; cp -r $FULL_PATH/* $FULL_BACKUP_PATH/.;'
如果我使用单引号,变量不会获取值,如果我使用双引号,则通配符不会展开。
请帮忙
由于
答案 0 :(得分:0)
我想你想要这个:
mkdir -p "${FULL_BACKUP_PATH}"; cp -r "${FULL_PATH}/*" "${FULL_BACKUP_PATH}"
双引号内的变量得到扩展,单引号内的变量则不会。如果变量是路径/目录,如果它们中有空格,则始终将变量放在双引号内,以便双引号"将它们保持在一起"。
如果代码出现在以这样的shebang开头的shell脚本中:
#!/bin/bash
您可以在-xv
之后临时添加bash
以查看在执行时展开的脚本,这将有助于您调试它,如下所示:
#!/bin/bash -xv