Bash-将变量串联到路径

当前,我有一个bash脚本,它将在我的根目录中解压缩文件

#!/bin/bash
tar xvf ~/some-file.tar

这没有问题.现在,我想更改此设置,以便可以在预定义变量中指定文件的路径,例如:

#!/bin/bash
p="~"
tar xvf $p/some-file.tar

这给我以下错误信息:

tar: ~/some-file.tar: Cannot open: No such file or directory
tar: Error is not recoverable: exiting Now

文件的路径似乎是正确的,但是,是否存在一些导致此操作失败的隐藏字符?连接变量和路径而不将其都存储在字符串变量中(如果有)的正确方法是什么?

解决方法:

在变量中时,Tilde扩展不起作用.您可以改用$HOME变量:

#!/bin/bash
p=$HOME
tar xvf "$p/some_file.tar"

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...