带或不带双引号的bash变量

时间:2021-03-31 12:04:33

标签: bash shell

我发现了一个奇怪的问题,在变量上使用双引号和不使用双引号得到不同的结果。

$ cat test.sh

#!/usr/bin/env bash 

folder="~/backup"

ls -l ~/backup
ls -l ${folder}

$ bash test.sh
total 197904
-rw-r--r--  1 test  staff  96133120 31 Mar 22:46 backup-202103312246.tar.gz
ls: ~/backup: No such file or directory

如果我从 folder 的值中删除双引号

$ cat test.sh
folder=~/backup

ls -l ~/backup
ls -l ${folder}

$ bash test.sh
total 197904
-rw-r--r--  1 test  staff  96133120 31 Mar 22:46 backup-202103312246.tar.gz
total 197904
-rw-r--r--  1 test  staff  96133120 31 Mar 22:46 backup-202103312246.tar.gz

为什么我得到不同的结果?

0 个答案:

没有答案
相关问题