请教一个菜鸟问题,但是一直困扰我 ,请牛人顺手解答一下

当我写了一个脚本的时候,比如 a.bash ;我将该脚本设置为可执行了  chmod 700 a.bash
但是当输入$ a.bash 时 不会执行我的脚本  必须使用 $ ./a.bash 才行  请问这是什么原因? 两者有何区别?  谢谢!

作者: zhtxwd   发布时间: 2011-06-16

./ 表示当前目录下, 这样sh就被指定在当前目录下查找脚本文件执行了
但是当输入$ a.bash 时 表示sh从PATH中搜索脚本来执行,而shell为了
安全,当前目录是不在PATH里的,所有搜索不到,自然也就不能执行,
这点跟windows是有区别的,bat默认是先搜索当前目录,然后再是path

作者: liion631818   发布时间: 2011-06-16

./  当前目录

作者: proghua   发布时间: 2011-06-16