2010-11-15 50 views
0

我的变量path1包含值/home/folder。如何使用此绝对路径名创建一个名为foo的新文件?在Unix中,如何以绝对路径名创建文件

path1="/home/folder" 
echo "hello web" > $path1/foo 

但这段代码给我错误。有人可以告诉我如何使用路径名称在特定位置创建此文件foo?

+1

你会得到什么错误? – eumiro 2010-11-15 12:11:38

+1

什么错误?该目录可能不存在,或者您没有写入权限。 – chris 2010-11-15 12:13:12

+0

当我输入ls -l时,它显示每个文件夹都有rw权限。我得到的错误是“bash:/ home/Downloads/foo:没有这样的文件或目录”。但如果我输入$ HOME/folder/foo而不是/ home/folder/foo,它可以工作。 – 2010-11-15 12:22:09

回答

4

在bash,你应该写:

path1="/home/folder"; echo "hello web" > $path1/foo 

或者:

export path1="/home/folder" 
echo "hello web" > $path1/foo 

符号只在bash脚本中使用的作品。

+0

我不认为第一个版本会起作用,除非你在echo之前有一个分号。实际上,path1将被导出为echo,但不会在重定向中使用正确的值进行扩展。 – thkala 2010-11-15 12:27:38

相关问题