注册
登录
电子工程世界-论坛
返回首页
EEWORLD首页
频道
EE大学堂
下载中心
Datasheet
专题
单片机
物联网
汽车电子
嵌入式
手机/便携
模拟电子
家用电子
网络通信
电源管理
工业控制
测试测量
半导体设计/制造
安防电子
传感器
医疗电子
caizhiwei的个人空间
https://home.eeworld.com.cn/space-uid-403336.html
[收藏]
[复制]
[分享]
[RSS]
空间首页
动态
记录
日志
相册
主题
分享
留言板
个人资料
借用开发板
论坛
淘帖
Collection
查看新帖
最新回复
社区活动
联系管理员
我的空间
帖子
日志
收藏
好友
勋章
积分
安全验证
请完成以下验证码
日志
Linux系统脚本的三种执行方式
已有 971 次阅读
2014-7-14 08:31
1、source命令用法: source FileName
作用:在当前bash环境下读取并执行FileName中的命令。该filename文件可以无"执行权限"
注:该命令通常用命令“.”来替代。
如:source bash_profile . bash_profile两者等效。
source(或点)命令通常用于重新执行刚修改的初始化文档。
source命令(从 C Shell 而来)是bash shell的内置命令。
点命令,就是个点符号,(从Bourne Shell而来)。就是顺序的执行文件里的命令而已。
2、sh和bash命令用法: sh FileName bash FileName
作用:在当前相应的bash环境下新建一个子shell读取并执行FileName中的命令。该filename文件可以无"执行权限"
注: sh使用“-n”选项进行shell脚本的语法检查,使用“-x”选项实现shell脚本逐条语句的跟踪,可以巧妙地利用shell的内置变量增强“-x”选项的输出信息等。
3、./的命令用法: ./FileName
作用:打开一个子shell来读取并执行FileName中命令。
该文件必须有可执行的权限。
注:运行一个shell脚本时会启动另一个命令解释器.
每个shell脚本有效地运行在父shell(parent shell)的一个子进程里. 这个父shell是指在一个控制终端或在一个xterm窗口中给你命令指示符的进程.shell脚本也可以启动他自已的子进程.这些子shell(即子进程)使脚本并行地,有效率地地同时运行脚本内的多个子任务.脚本里的变量设置在父进程中无效。脚本中的export仅仅作用于该脚本及其子脚本位置变量参数在向脚本传递参数时,可以使用此位置变量来获取参数。他们分别是:
$0:脚本名字。此变量包含地址,可以使用basename
$0获得脚本名称。
$1:第一个参数
$2,$3,$4,$5,...一次类推。
特定变量参数
一些脚本运行的相关控制信息
$# 传递到脚本的参数个数
$* 以一个单字符串显示所有向脚本传递的参数
$$ 脚本运行的ID号
$! 后台运行的最后一个进程的ID号
$@ 与$#相同,但是使用时加引号,并在引号中返回每个参数。
$- 显示shell使用的当前选项。
$? 显示最后命令的推出状况。0表示没有错误。
source filename 与 sh filename 及./filename执行脚本的区别在那里呢?
1.当shell脚本具有可执行权限时,用sh filename与./filename执行脚本是没有区别得,都是创建子进程去执行。./filename是因为当前目录没有在PATH中,所有"."是用来表示当前目录的。
2.sh filename 重新建立一个子shell,在子shell中执行脚本里面的语句,该子shell继承父shell的环境变量,但子shell新建的、改变的变量不会被带回父shell,除非使用export。
3.source filename:这个命令其实只是简单地读取脚本里面的语句依次在当前shell里面执行,没有建立新的子shell。那么脚本里面所有新建、改变变量的语句都会保存在当前shell里面。
举例说明:
1.新建一个test.sh脚本,内容为:A=1
2.然后使其可执行chmod +x test.sh
3.运行sh test.sh后,echo $A,显示为空,因为A=1并未传回给当前shell。
4.运行./test.sh后,也是一样的效果。
5.运行source test.sh 或者 . test.sh,然后echo $A,则会显示1,说明A=1的变量在当前shell中。
本文来自论坛,点击查看完整帖子内容。
收藏
邀请
举报
全部
作者的其他最新日志
•
arm+linux学习资料+视频较长汇总!
•
【原创】Win7如何远程桌面到Ubuntu
评论 (
0
个评论)
涂鸦板
您需要登录后才可以评论
登录
|
注册
评论
caizhiwei
加为好友
给我留言
打个招呼
发送消息
热门文章
头条资讯
韩国2020年芯片出口达991亿美元
有奖直播 | 迈来芯消费级超低功耗位置传感器,简化设计降低成本
韩国半导体,急了?
SmartNIC 助力充分发挥数据中心优势
您有一份来自Melexis 传感技术研讨会深圳站的大礼包即将派送!
3000亿地方基金争抢半导体!
新增数据手册
BL12864AA
HDWM-15-52-L-D-300-LC
VTC1-B11E-19M200
M80-4T11405F1-11-302-03-321
240-078-6-21PPD-R1T-.125NC
FP20216137321CKDX
热搜器件
HCNR200/201
2220SC103MAT1A
10138796-22000LF
CD4049UB
LFXTAL003000
F462AP153J1L2R
推荐下载
VHDL开发的计数器。源程序不复杂
采用单片机技术的内电机车高压报警器
编译原理实践环节模拟试题
c8051f020的fyd12864 c程序 keilc
太阳热水系统设计安装及工程验收技术规范
基于单片机的交流伺服电机转速控制系统设计
推荐关注
D2502A降压型DC-DC转换器深度解析:高集成度与高效率的完美结合,可替代XL1583/1410
《机器人智造的逻辑》-机器人制造步骤
Pinocchio中data、model接口介绍
汽车制造中的三坐标测量机:原理、应用与发展趋势
明远智睿SSD2351核心板在物联网领域的应用实践
汽车电子芯片数量大增:从 500 颗到 3000 颗,锡膏如何撑起可靠性大旗?