运行Shell脚本的几种方式解析

假设脚本为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 更加具有移植性.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
简介:CETool是一个WinCE的辅助程序,使用C语言和Windows API编写,作了一些特殊处理以同时支持WinCE5和WinCE6,主要实现shell中的功能,提供的各种操作涉及到文件系统、窗口管理、进程管理和流程控制几个方面,通过解析配置文件内容来执行相应的操作,属于一种脚本解析程序。程序有以下特点:1. 程序一般是在原路径执行,比如一开始就放置在\Storage Card\目录下,即打开后就以\Storage Card\为工作目录开始处理各项操作。考虑到在程序运程过程中可能要对程序所在分区(或磁盘)进行格式化(或者是移除SD卡)等操作,故添加了一项“自我复制到内存中运行”的功能,即启动后先检测工作目录是不是在内存虚拟出来根目录"\"下,如果不是则先对自身进行复制再重新加载复制后的可执行文件,以便后续的SD移除、或者格式化等操作。对于配置文件,因为是一开始就读进内存中的,所以无需进行复制。此功能一般都不需要使用,即直接在原来的路径运行即可,如需开始此功能,只需将配置文件的文件名从CETool.ini改为_CETool.ini即可。 2. 程序在一次性加载完配置文件后,接着逐行去解析文件内容,遇到注释行或者是格式不正确的行则跳过该行,配置文件有以下特点: (1)配置文件无大小限制,仅取决于物理内存大小,支持Unicode与ANSI编码的文件格式; (2)配置文件中每行的长度无限制,但某些操作的参数对长度有一定限制,如创建目录时,作为目录名的参数的长度有限制(这是文件系统和API的问题)。 (3)各个操作放置的位置、出现的次数无限制。 (4)每一行中的子操作数量无限制。 (5)具有合理的严格性和纠错处理,每一行中在'='后边非关键字处可随意添加空格、制表符、逗号,不影响正常解析,关键内容可以加上引号(单引号和双引号的区别,将在后述提到),如包含空格的路径、参数等。详细介绍参数特殊说明。 3. 支持相对路径的表示方式。参考特殊说明。 4. 支持从文件读入并作为参数的方式(即配置文件中嵌入其它文件,嵌套层数无限制,一般为临时创建的文件,一些不确定参数可以先保存到临时文件,再用此程序读取)。参考特殊说明。5. 支持VB代码嵌入,方便变量使用、判断、循环(这些还有些问题需要解决,将在CETool v2.0中实现)。 此程序涉及内容: 此程序涉及到一些Windows和C语言的基础知识,包括文件系统、注册表、进程、线程、窗口、事件、消息、进程间与线程间通信、脚本、动态库、递归、回调、多维指针、函数指针、数据结构、加密算法等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值