bash是否在值附近添加隐式引号?

时间:2015-09-02 23:18:29

标签: bash

我看到了一个类似

的示例here
#!/bin/bash
OF=/var/my-backup-$(date +%Y%m%d).tgz
tar -cZf $OF /home/me/

令我困惑的是OF变量如何设置为似乎是字符串但未引用? bash是否在OF的值附近添加隐式引号?如果是这样,它是否添加单引号或双引号?

1 个答案:

答案 0 :(得分:4)

Bash不会自动添加引号。 OF获取完整路径,因为/var/my-backup-$(date +%Y%m%d).tgz中没有任何空格。您可能认为它在date之后发生,但实际上$(cmd …)在一个"单独的shell"中运行该函数。并返回一个字符串。在这种情况下,字符串是" 20150902" OF设置的整个值为/var/my-backup-20150902.tgz