无法测试Bash中是否存在文件

时间:2018-09-26 14:07:54

标签: bash tilde-expansion

考虑以下Bash脚本:

function dosomething {
    local fname="~/.bash_profile"
    if [[ -f "$fname" ]]; then
        echo "proceeding"
    else
        echo "skipping"
    fi
}

dosomething

尽管我知道〜/ .bash_profile存在,但我总是被“跳过”。为什么?

1 个答案:

答案 0 :(得分:7)

~仅在没有引号的情况下由外壳扩展。用引号引起来是一个波浪号。

local fname=~/.bash_profile