小编And*_*rew的帖子

如何扩展波浪号 ~ 作为变量的一部分?

当我打开一个 bash 提示符并输入:

$ set -o xtrace
$ x='~/someDirectory'
+ x='~/someDirectory'
$ echo $x
+ echo '~/someDirectory'
~/someDirectory
Run Code Online (Sandbox Code Playgroud)

我希望上面的第 5 行会出现+ echo /home/myUsername/someDirectory。有没有办法做到这一点?在我的原始 Bash 脚本中,变量 x 实际上是从输入文件中的数据填充的,通过这样的循环:

while IFS= read line
do
    params=($line)
    echo ${params[0]}
done <"./someInputFile.txt"
Run Code Online (Sandbox Code Playgroud)

尽管如此,我得到了类似的结果,echo '~/someDirectory'而不是echo /home/myUsername/someDirectory.

shell bash shell-script quoting variable

16
推荐指数
2
解决办法
7971
查看次数

标签 统计

bash ×1

quoting ×1

shell ×1

shell-script ×1

variable ×1