LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 632|回复: 3

求助,关于如何定义代表路径的字符串!

[复制链接]
发表于 2004-6-21 15:22:16 | 显示全部楼层 |阅读模式
我想在我的SH脚本中,将一个文件解压缩到一个目录中,而这个目录就是当前用户(假设用户名为user)的登陆目录下的一个已经存在的目录,假设名字为work/,他的绝对路径应该是 /home/user/work/ ,在我的程序中,DIR如果赋值为'work',并且我在登陆目录下操作时,用test -d $DIR 测试,返回为真.但是如果DIR被赋值为'~/work',则程序测试不到.请指教如何给变量赋值(形式如'~/work')??谢谢!
发表于 2004-6-21 16:09:50 | 显示全部楼层
这需要用到$HOME,这个专用变量
workdir="$HOME/work"
发表于 2004-6-21 16:10:30 | 显示全部楼层
这其实也涉及到命令行处理。

当你定义变量时,bash已经在命令行处理的第五步把~替换成你的主目录。

  1. DIR=~/work #此后引用DIR的值为/home/user/work
复制代码


注意,不能加单引号来定义这种变量,否则bash将跳过命令行处理的前十步,并不扩展~。

  1. DIR='~/work' #这样是错误的
复制代码


ps:请参阅置顶帖的"命令行处理"。
 楼主| 发表于 2004-7-4 21:32:53 | 显示全部楼层
哦!明白了,十分感谢!谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表