【发布时间】:2011-01-26 21:51:46
【问题描述】:
我编写了一个非常简单的程序来测试将数据输出到文件名变量。
#!/bin/sh
file="~/output"
echo "test" > $file
当我运行这个脚本时,我得到了以下错误
"./script.sh: line 3: ~/output: No such file or directory"
那么我应该如何修改我的代码以使其正常工作?还是shell脚本不支持?
【问题讨论】:
我编写了一个非常简单的程序来测试将数据输出到文件名变量。
#!/bin/sh
file="~/output"
echo "test" > $file
当我运行这个脚本时,我得到了以下错误
"./script.sh: line 3: ~/output: No such file or directory"
那么我应该如何修改我的代码以使其正常工作?还是shell脚本不支持?
【问题讨论】:
“~/output”周围的引号让你很伤心。
例如
#!/bin/sh
file=~/output
echo "test" > $file
工作正常。
要查看发生了什么,请尝试
$ file="~/output"
$ echo $file
对
$ file=~/output
$ echo $file
请记住,~ 是主目录的 shell 扩展。
【讨论】:
您可以在脚本中使用 $HOME 环境变量:
#!/bin/sh
file="$HOME/output"
echo "test" > $file
【讨论】: