庆典

2012-02-15 75 views
1

我刚开始学习Unix和迄今遇到了两个基本尽管难以解决的问题壳$ HOME分配和脚本执行:当我在一个shell脚本设置HOME=''到指定的目录庆典

  • 目前的目录似乎不再被认可。也就是说,'cd〜/'吐出消息:'没有这样的文件或目录'消息。尽管奇怪的是,如果在脚本中创建了别名分配,源调用似乎仍然激活了它们。怎么来的?

例:

$ more .profile 
HOME="~/Documents/Basics/Unix/Unix_and_Perl_course" 
cd $HOME 
[...] 
$ source .profile 
-bash: cd: ~/Documents/Basics/Unix/Unix_and_Perl_course: No such file or directory 
  • 当我通过纳米( 'hello.sh'),我似乎无法执行它创建了一个简单的shell脚本只需键入 'hello.sh'在终端。即使在'chmod + x'文件后,此问题仍然无法解决。有什么问题?

例:

$ more hello.sh 
# my first Unix shell script 
echo "Hello World" 
$ hello.sh 
bash: hello.sh: command not found 

谢谢!

+0

这里有两个不同的问题。最好单独问问他们。最好给一个有意义的标题,使问题对未来的读者更有用。 – 2012-02-15 15:02:26

+0

谢谢你的建议,迈克尔!我会记住他们的。 – 2012-02-15 20:10:39

回答

2

您也不想'重载'$ HOME,HOME的默认位置始终是您的主目录。如果你厌倦,很多事情都会崩溃。

至于hello.sh - 那是因为你没有'。'在你的$ PATH中。 (这是一件好事)

尝试:

./hello.sh 

如果它说,它不能执行

chmod 755 hello.sh 
./hello.sh 
1
  1. 〜= $ HOME
  2. 。 (pwd)不在$ PATH中