~
não parece estar se expandindo corretamente. Quando executo seu script com um caminho intencionalmente falso, o erro não diz ~
, mas expande o caminho (ou seja, /home/sparhawk/fakepath
não ~/fakepath
. Você pode tentar usar $HOME
em vez de ~
ou usar o caminho completo no script.
(Não tenho certeza porque ~
não funciona no seu sistema, pois seu script funciona bem para mim.)