我写了一个非常简单的程序来测试输出数据到文件名变量。
#!/bin/sh
file="~/output"
echo "test" > $file
当我运行此脚本时,出现以下错误
“./ script.sh:第3行:〜/ output:没有这样的文件或目录”
那么我应该如何修改我的代码才能使其正常工作?或者shell脚本不支持它?
答案 0 :(得分:5)
“〜/ output”周围的引号让你感到悲伤。
e.g
#!/bin/sh
file=~/output
echo "test" > $file
工作正常。
要查看正在发生的事情,请尝试
$ file="~/output"
$ echo $file
VS
$ file=~/output
$ echo $file
请记住〜是主目录的shell扩展。
答案 1 :(得分:1)
您可以在脚本中使用$ HOME环境变量:
#!/bin/sh
file="$HOME/output"
echo "test" > $file