Chinaunix首页 | 论坛 | 博客
  • 博客访问: 309787
  • 博文数量: 47
  • 博客积分: 2455
  • 博客等级: 大尉
  • 技术积分: 558
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-25 15:43
文章分类

全部博文(47)

文章存档

2016年(2)

2012年(10)

2011年(13)

2010年(1)

2009年(19)

2008年(2)

分类:

2008-12-27 00:01:04

假设脚本为a.sh,则要运行该脚本,有以下方式

1 给脚本加上执行权限chmod u+x a.sh, 而后就可以直接用全路径来执行脚本了,比如当前文件夹下用./a.sh, 如果脚本所在目录在PATH环境变量之中, 则直接用a.sh即可

2 sh/bash a.sh的路径,这种情况不需要脚本具有执行权限.

以上两种情况中,脚本中$0都是a.sh,都是在shell的子进程中运行的.

3 source a.sh的路径

4 . a.sh的路径

以 上两种情况都是脚本在当前shell的进程中运行,所以$0都是bash/sh, 区别在于, source不是posix shell的内置命令,所以3在sh中实际上是不能运行的,在bash中可以. 而.则无论在bash还是posix shell中都是可以用来载入并执行脚本. 所以, 相对而言, 应该是4 更加具有移植性.
阅读(4104) | 评论(2) | 转发(0) |
0

上一篇:没有了

下一篇:让SSH Server使用自定义环境变量

给主人留下些什么吧!~~

orabsd2008-12-31 20:17:21

发表于: 2009-01-13,修改于: 2008-12-27 00:07 已浏览141次

lanhaitaoa2008-12-27 23:07:00

分析得很透彻,很受教。支持一下下。