我跑
#!/bin/bash
id="~/.ssh/foo"
realpath ~/.ssh/foo
realpath "~/.ssh/foo"
realpath $id
realpath "$id"
期望 4 行相同的输出,没有错误。我得到的是
/home/me/.ssh/foo
realpath: '~/.ssh/foo': No such file or directory
realpath: '~/.ssh/foo': No such file or directory
realpath: '~/.ssh/foo': No such file or directory
为什么只有第一个成功?
我想要做
echo "Enter a path: "
read p
p="$(realpath "$p")"
echo "The real path is $p"
由于此错误,这不起作用。我需要做什么?