网站首页 > 精选教程 正文
执行Shell脚本的方式基本上有三种:
(1)输入定向到Shell脚本
这种方式是用输入重定向方式让Shell从给定文件中读入命令行并进行相应处理。其一般形式是:
$ bash < 脚本名
例如:$ bash <ex1
Shell从文件ex1中读取命令行,并执行它们。当Shell到达文件末尾时就终止执行,并把控制返回到Shell命令状态。此时,脚本名后面不能带参数。
(2)以脚本名作为参数
其一般形式是:$ bash 脚本名 [参数]
例如:$ bash a.sh /usr/meng /usr/zhang
其执行过程与上一种方式一样,但这种方式的好处是能在脚本名后面带有参数,从而将参数值传递给程序中的命令,使一个Shell脚本可以处理多种情况,就如同函数调用时可根据具体问题给定相应的实参。
如果以目前Shell(以·表示)执行一个Shell脚本,则可以使用如下简便形式:
$ · 脚本名 [参数]
./a.sh
以Shell脚本作为Shell的命令行参数,这种方式可用来进行程序调试。
(3)将Shell脚本的权限设置为可执行,然后在提示符下直接执行它。
通常用户是不能直接执行由正文编辑器(如vi)建立的Shell脚本的,因为直接编辑生成的脚本文件没有“执行”权限。如果要把Shell脚本直接当作命令执行,就需要利用命令chmod 将它置为有“执行”权限。例如,
$ chmod a+x a.sh
就把Shell脚本ex2置为对所有用户都有“执行”权限。然后,在提示符后输入脚本名ex2就可直接执行该文件。注意,此时该脚本所在的目录应被包含在命令搜索路径(PATH)中。例如:
$ a.sh
Shell接收用户输入的命令(脚本名),并进行分析。如果文件被标记为可执行的,但不是被编译过的程序,Shell就认为它是一个Shell脚本。Shell将读取其中的内容,并加以解释执行。
所以,从用户的观点看,执行Shell脚本的方式与执行一般的可执行文件的方式相似。因此,用户开发的Shell脚本可以驻留在命令搜索路径的目录之下(通常是“/bin”、 “/usr/bin”等),像普通命令一样使用。
这样,也就开发出自己的新命令。如果打算反复使用编好的Shell脚本,那么采用这种方式就比较方便。
[hadoop@localhost dzztest]$ ./a.sh
1
2
4
5
[hadoop@localhost dzztest]$ sh a.sh
1
2
4
5
2022-9-18
猜你喜欢
- 2025-01-03 shell脚本 远程执行命令
- 2025-01-03 在远程服务器上运行本地 Shell 脚本,估计没人知道这方法
- 2025-01-03 挺好用!shell脚本日志技巧
- 2025-01-03 linux写一个shell脚本去进行ping探测
- 2025-01-03 【shell编程】你的第一个sh脚本
- 2025-01-03 Linux之shell编程
- 2025-01-03 Shell 脚本技术详解
- 2025-01-03 Shell脚本怎么写?Linux命令三剑客之sed命令
- 2025-01-03 Shell脚本怎么写?(0)
- 2025-01-03 Linux中如何通过Shell脚本来控制Spring Boot的Jar包启停服务?
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)