我有一个 bash 脚本,它创建了我的文件夹的备份。它应该使用版本号命名 tar gz 文件,但它没有:
#!/bin/bash
ver='1.2.3'
tar czf $ver_myfolder.tar.gz .
Run Code Online (Sandbox Code Playgroud)
预期输出:
1.2.3_myfolder.tar.gz
实际输出:
_myfolder.tar.gz
如果我像这样附加变量:
#!/bin/bash
ver='1.2.3'
tar czf myfolder-$ver.tar.gz .
Run Code Online (Sandbox Code Playgroud)
有用
您应该${var}在此处使用,因为您在其后附加下划线,下划线被视为变量名称的有效字符。由于这一事实,shell 不知道您是在扩展变量名$ver还是$ver_myfolder:
ver='1.2.3'
tar czf "${ver}_myfolder.tar.gz" .
Run Code Online (Sandbox Code Playgroud)
由于$ver_myfolder未设置,您将获得一个空值。
| 归档时间: |
|
| 查看次数: |
1356 次 |
| 最近记录: |