无法测试 Bash 中是否存在文件
Unable to test whether a file exists in Bash
考虑以下 Bash 脚本:
function dosomething {
local fname="~/.bash_profile"
if [[ -f "$fname" ]]; then
echo "proceeding"
else
echo "skipping"
fi
}
dosomething
虽然我知道 ~/.bash_profile 存在,但我总是得到 "skipped"。为什么?
~
仅在未加引号的情况下由 shell 扩展。当它被引用时,它是一个文字波浪符号。
local fname=~/.bash_profile
考虑以下 Bash 脚本:
function dosomething {
local fname="~/.bash_profile"
if [[ -f "$fname" ]]; then
echo "proceeding"
else
echo "skipping"
fi
}
dosomething
虽然我知道 ~/.bash_profile 存在,但我总是得到 "skipped"。为什么?
~
仅在未加引号的情况下由 shell 扩展。当它被引用时,它是一个文字波浪符号。
local fname=~/.bash_profile