免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2039 | 回复: 12
打印 上一主题 下一主题

[FreeBSD] 【已经解决】请教一下大家,关于shell脚本执行的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-08-23 07:45 |只看该作者 |倒序浏览
本帖最后由 ulovko 于 2012-08-24 09:46 编辑

学习shell脚本中,写了个例子 abc.sh

#!/bin/sh

echo hello world.
echo done!

保存后用chmod设置了权限

# chmod 755 abc.sh

权限更改成功

然后运行脚本居然不行,我这样运行的
# abc.sh
说找不到命令

网上找了一下,说要 加 ./
果然
# ./abc.sh

就能执行了,后来我还发现 只用 . 也可以

# . abc.sh

问题是,我想知道,有没有办法不用 ./ 或者 . 就能执行 shell脚本啊?

我现在是 root 权限,装了 bash 换成了 bash 也不能直接用文件名执行

网上不是说只要第一行 写了#!+执行程序路径 就可以直接运行了么?

论坛徽章:
13
15-16赛季CBA联赛之同曦
日期:2016-01-28 19:52:032015亚冠之北京国安
日期:2015-10-07 14:28:19NBA常规赛纪念章
日期:2015-05-04 22:32:03处女座
日期:2015-01-15 19:45:44卯兔
日期:2014-10-28 16:17:14白羊座
日期:2014-05-24 15:10:46寅虎
日期:2014-05-10 09:50:35白羊座
日期:2014-03-12 20:52:17午马
日期:2014-03-01 08:37:27射手座
日期:2014-02-19 19:26:54子鼠
日期:2013-11-30 09:03:56狮子座
日期:2013-09-08 08:37:52
2 [报告]
发表于 2012-08-23 07:49 |只看该作者
保存后用chmod设置了权限

# chmod 755 abc.sh

该文件不在当前目录?

论坛徽章:
0
3 [报告]
发表于 2012-08-23 07:52 |只看该作者
在当前目录,权限改成功了。

主要是不能 直接执行 非要
# sh abc.sh 或 # ./abc.sh 才行

论坛徽章:
0
4 [报告]
发表于 2012-08-23 08:40 |只看该作者
高手支个招吧

论坛徽章:
89
水瓶座
日期:2014-04-01 08:53:31天蝎座
日期:2014-04-01 08:53:53天秤座
日期:2014-04-01 08:54:02射手座
日期:2014-04-01 08:54:15子鼠
日期:2014-04-01 08:55:35辰龙
日期:2014-04-01 08:56:36未羊
日期:2014-04-01 08:56:27戌狗
日期:2014-04-01 08:56:13亥猪
日期:2014-04-01 08:56:02亥猪
日期:2014-04-08 08:38:58程序设计版块每日发帖之星
日期:2016-01-05 06:20:00程序设计版块每日发帖之星
日期:2016-01-07 06:20:00
5 [报告]
发表于 2012-08-23 09:19 |只看该作者
没有加入当前用户的搜索目录。

论坛徽章:
0
6 [报告]
发表于 2012-08-23 09:25 |只看该作者
请问你是说 /bin/sh 没有加入么?

如果是说这个,这个肯定是加入了的

论坛徽章:
54
2017金鸡报晓
日期:2017-02-08 10:39:42操作系统版块每日发帖之星
日期:2016-03-08 06:20:00操作系统版块每日发帖之星
日期:2016-03-07 06:20:00操作系统版块每日发帖之星
日期:2016-02-22 06:20:00操作系统版块每日发帖之星
日期:2016-01-29 06:20:00操作系统版块每日发帖之星
日期:2016-01-27 06:20:00操作系统版块每日发帖之星
日期:2016-01-20 06:20:00操作系统版块每日发帖之星
日期:2016-01-06 06:20:0015-16赛季CBA联赛之江苏
日期:2015-12-21 20:00:24操作系统版块每日发帖之星
日期:2015-12-21 06:20:00IT运维版块每日发帖之星
日期:2015-11-17 06:20:002015亚冠之广州恒大
日期:2015-11-12 10:58:02
7 [报告]
发表于 2012-08-23 09:54 |只看该作者
楼主是windows的受害者之一。
从windows出来的人普遍不知道PATH的含义

论坛徽章:
0
8 [报告]
发表于 2012-08-23 10:15 |只看该作者
我肯定是新手啊,不然也不会来麻烦大家了。

有没有老手高手骨玩能否详细说下,谢谢先

论坛徽章:
13
15-16赛季CBA联赛之同曦
日期:2016-01-28 19:52:032015亚冠之北京国安
日期:2015-10-07 14:28:19NBA常规赛纪念章
日期:2015-05-04 22:32:03处女座
日期:2015-01-15 19:45:44卯兔
日期:2014-10-28 16:17:14白羊座
日期:2014-05-24 15:10:46寅虎
日期:2014-05-10 09:50:35白羊座
日期:2014-03-12 20:52:17午马
日期:2014-03-01 08:37:27射手座
日期:2014-02-19 19:26:54子鼠
日期:2013-11-30 09:03:56狮子座
日期:2013-09-08 08:37:52
9 [报告]
发表于 2012-08-23 11:19 |只看该作者
本帖最后由 ulovko 于 2012-08-23 11:33 编辑

回复 1# ckcfcc

  1. > pwd
  2. /usr/home/ko/bin
  3. > echo $PATH
  4. /sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/home/ko/bin
  5. > ll echo.sh
  6. -rwxr-xr-x  1 ko  ko  - 22 08/23/12 11:14:16 echo.sh*
  7. > cat echo.sh
  8. #!/bin/sh
  9. echo "AK47"
  10. > rehash                 ---> 没有这个就需要注销(exit)才能生效
  11. > echo
  12. echo    echo.sh echotc  
  13. > echo.sh
  14. AK47
复制代码
About rehash :
  1. # rehash                                                (Updates FreeBSD's path environment variables)
  2. <For instance when you have installed software you may not be able
  3. to run the executables without specifying the path.
  4. rehash solves your problem most of the times>
复制代码
FROM: http://bbs.chinaunix.net/thread-3751834-1-1.html

PS: 操作环境尽量保持在自己的家目录,否则请这样执行脚本
  1. sh script.sh
复制代码
又或者:
(csh/tcsh)用户
# vim ~/.cshrc
set path = (/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin $HOME/bin /path/to/scripts)
:wq
# source ~/.cshrc

(sh/bash)用户
# vim ~/.profile
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/binHOME/bin:/path/to/script; export PATH
:wq
# source ~/.profile

论坛徽章:
0
10 [报告]
发表于 2012-08-23 12:07 |只看该作者
非常感谢 ulovko 大侠 问题又学到新东西了, 严重感谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP