linux执行脚本问题

lovelystone 2013-02-01 11:45:19
各位老师:
我使用的是linux(redflag),在脚本当前目录下执行脚本,必须加上./才能执行,比如执行a.sh,
需要执行./a.sh,直接执行a.sh就执行不了,这是什么原因?感谢各位。
...全文
139 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lovelystone 2013-02-05
  • 打赏
  • 举报
回复
感谢各位的细心解答,结贴!
xike2002 2013-02-05
  • 打赏
  • 举报
回复
二楼说的很详细很有道理!
ljc007 2013-02-02
  • 打赏
  • 举报
回复
export PATH=$PATH:.
zhangpeng9886 2013-02-02
  • 打赏
  • 举报
回复
在环境变量里面最前面加一个点号吧(.)
nevil 2013-02-01
  • 打赏
  • 举报
回复
当前路径不在系统环境变量里,如果把当前路径加到PATH环境变量中就不需要./了
Franklin 2013-02-01
  • 打赏
  • 举报
回复
楼上的解释很对, ./表示在当前搜索目录下执行: 不过,显然有失严整 1 首先你应该理解这个过程 你现在运行的是shell,那么你在和shell对话的过程,其实就是shell解释你的输入过程,那么,shell如何知道你的输入有意义呢,我们预先在shell的变量path里面增加了shell的搜索路径,你只要一输入解释,shell就会去先在路径下找有没有你输入的命令的应用。 2 所以 就像楼上所说 如果你的当前的路径如果不含在变量PATH里面,首先,shell就根本找不到你输入的这个命令:a.sh 也就是你自己说发现的那样,根本无法执行 你如果把你的路径加到你的PATH变量里面,ok,显然你可以执行了,和你加不加./没关系 3 如果再严谨考虑一下 如果不加./,那么很有可能在路径变量path里面有一个和你一样的命令也叫a.sh 他很可能比你的这个a要先执行,这时候,你也许会发出更怪的赞叹,这么是这个结果。。。。。 当然,这是你无法预料的结果 所以,综上,必须加./

19,612

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧