Кавычки вокруг "~ / output" вызывают у вас горе.
* 1003 например *
#!/bin/sh
file=~/output
echo "test" > $file
работает нормально.
Чтобы увидеть, что происходит, попробуйте
$ file="~/output"
$ echo $file
против
$ file=~/output
$ echo $file
и имейте в виду, что ~ это расширение оболочки для домашнего каталога.