我看到了一个类似
的示例here#!/bin/bash
OF=/var/my-backup-$(date +%Y%m%d).tgz
tar -cZf $OF /home/me/
令我困惑的是OF
变量如何设置为似乎是字符串但未引用? bash是否在OF
的值附近添加隐式引号?如果是这样,它是否添加单引号或双引号?
答案 0 :(得分:4)
Bash不会自动添加引号。 OF
获取完整路径,因为/var/my-backup-$(date +%Y%m%d).tgz
中没有任何空格。您可能认为它在date
之后发生,但实际上$(cmd …)
在一个"单独的shell"中运行该函数。并返回一个字符串。在这种情况下,字符串是" 20150902" OF
设置的整个值为/var/my-backup-20150902.tgz
。