13Shell脚本—编写简单脚本

1. 概述

Shell脚本命令的工作方式有两种:交互式和批处理。

交互式(Interrctive): 用户每输入一条命令就立即执行。

批处理(Batch): 由用户事先编写好一个完整的 Shell 脚本, Shell 会一次性执行脚本中诸多的命令。

Shell脚本文件的名称可以任意。但为了避免被误以为是普通文件,建议将 .sh 后缀加上,以表示是一个脚本文件。

2. 第一个简单的shell脚本

[[email protected] 0614]# vi example.sh
#!/bin/bash
#For example by rock
pwd
ls -l
#第一种执行方法   bash 脚本文件名及其参数 或者 sh 脚本文件名及其参数
[[email protected] 0614]# bash example.sh
/home/hk/0614
total 20
-rw-r--r--. 1 root root   65 Jun 14 17:32 aaa.txt
-rw-r--r--. 1 root root    0 Jun 14 16:17 abc.txt
-rw-r--r--. 1 root root    0 Jun 14 16:23 bbb.txt
-rw-r--r--. 1 root root    0 Jun 14 16:27 ccc.txt
-rw-r--r--. 1 root root   43 Jun 14 17:51 example.sh
-rw-rw-r--. 1 hk   hk   4731 Jun 14 09:10 openman.txt
-rw-rw-r--. 1 hk   hk     22 Jun 14 09:11 practice.txt
#第二种执行方法   先让Shell文件权限加上可执行,然后直接运行
[[email protected] 0614]# chmod u+x example.sh
[[email protected] 0614]# ./example.sh
/home/hk/0614
total 20
-rw-r--r--. 1 root root   65 Jun 14 17:32 aaa.txt
-rw-r--r--. 1 root root    0 Jun 14 16:17 abc.txt
-rw-r--r--. 1 root root    0 Jun 14 16:23 bbb.txt
-rw-r--r--. 1 root root    0 Jun 14 16:27 ccc.txt
-rwxr--r--. 1 root root   43 Jun 14 17:51 example.sh
-rw-rw-r--. 1 hk   hk   4731 Jun 14 09:10 openman.txt
-rw-rw-r--. 1 hk   hk     22 Jun 14 09:11 practice.txt
#第三种方法  source 脚本文件名及其参数 或者 . 脚本文件名及其参数
[[email protected] 0614]# source example.sh
/home/hk/0614
total 20
-rw-r--r--. 1 root root   65 Jun 14 17:32 aaa.txt
-rw-r--r--. 1 root root    0 Jun 14 16:17 abc.txt
-rw-r--r--. 1 root root    0 Jun 14 16:23 bbb.txt
-rw-r--r--. 1 root root    0 Jun 14 16:27 ccc.txt
-rw-r--r--. 1 root root   43 Jun 14 17:51 example.sh
-rw-rw-r--. 1 hk   hk   4731 Jun 14 09:10 openman.txt
-rw-rw-r--. 1 hk   hk     22 Jun 14 09:11 practice.txt

3. 可以接受用户参数的脚本文件

Shell内置可用于接受参数的变量,变量之间可以使用空格间隔。

$0      当前shell脚本程序的名称
$#      总共有几个参数
$*      所有位置的参数值
$?      显示上一次命令执行的返回值
$1      第一个位置的参数值
$N      第N个位置的参数值
[[email protected] 0615]# cat example.sh
#!/bin/bash
echo "当前脚本名称为$0"
echo "总共有$#个参数,分别是$*。"
echo "第1个参数为$1, 第二个参数为$2。"

[[email protected] 0615]# sh example.sh one two three four five six
当前脚本名称为example.sh
总共有6个参数,分别是one two three four five six。
第1个参数为one, 第二个参数为two。

原文地址:https://www.cnblogs.com/rock-cc/p/9188543.html

时间: 2024-12-16 21:30:32

13Shell脚本—编写简单脚本的相关文章

编写SHELL脚本--编写简单脚本

1.简单脚本文件hello.sh,内容如下 #!/bin/bash pwd ls -al 执行脚本:bash hello.sh  或者使用root命令:  ./hello.sh 2.接受用户参数 $0代表执行的脚本文件名称 $*代表所有的用户参数 $?代表上个命令执行后的返回值 $#代表总共多少个参数 $n 代表第几个参数的值, n代表第几个参数, 执行:bash   params.sh

SecureCRT自动登陆到服务器的脚本以及脚本编写简单说明

http://blog.csdn.net/marising/article/details/6409196 Secure用SSH登陆服务器时,如果服务器较多,登陆一次很麻烦,所以,可以自己编写VBScript来搞定. 一.Secure脚本介绍 Secure是VBScript脚本,VB脚本的教程,请参考有关文档. Secure自带的对象如下: Application对象,就是crt,是个顶层的对象,所有其他内容都从这个对象中获得 Session,会话对象,负责连接相关 Tab对象,就是标签页 Sc

Shell脚本编写系统服务脚本

[[email protected] ~]# vim myprog #!/bin/bash case "$1" in start) echo -n "正在启动sleep服务--" if sleep 120 then echo "ok" fi ;; stop) echo -n "正在停止sleep服务--" pkill "sleep" &> /dev/null echo "ok&quo

shell编程之服务脚本编写,文件锁以及信号捕获

shell脚本编程是linux运维工程师必备的技能,也是非常重要的一个技能,所以把shell编程学好,只有好处.基础语法我也就不讲了,学过C语言这些语言的,稍微看一下就能明白shell编程的基础,所以我们直接切入正题. 开班第20天: 今天的课程大纲: shell编程中的函数 编写一个自动挂载的脚本 利用autofs怎么实现自动挂载 文件锁和信号捕获trap sed流文件编辑器 详细讲解: shell编程中的函数 shell中,我们定义函数的方法有两种: 下面调用的时候,直接调用函数名就可以了

[简明python教程]学习笔记之编写简单备份脚本

[[email protected] 0503]# cat backup_ver3.py #!/usr/bin/python #filename:backup_ver3.py import os import time #source source=['/root/a.sh','/root/b.sh','/root/c.sh'] #source='/root/c.sh' #backup dir target_dir='/tmp/' today=target_dir+time.strftime('

scapy编写简单的ARP扫描脚本 本课程基于 Python 的 scapy 模块编写,适合有 Python 基础的同学学习,最终完成一个简单的 ARP 扫描脚本。

scapy编写简单的ARP扫描脚本 本课程基于 Python 的 scapy 模块编写,适合有 Python 基础的同学学习,最终完成一个简单的 ARP 扫描脚本.

loadrunner简单使用——HTTP,WebService,Socket压力测试脚本编写

先说明一下,本人是开发,对测试不是特别熟悉,但因工作的需要,也做过一些性能测试方面的东西.比较久之前很简单的用过,最近又用到了,熟悉一下.现做一个总结. 使用loadrunner进行压力测试主要分两步,第一步是编写脚本(比较重点),第二步执行测试(配置都是在界面上点点就行了,当然我只的是比较简单的,能满足日常需要的),第三步分析结果(这一步比较高深,但是对于我来说能看懂简单的性能指标就OK了).所以这里就说一下脚本的编写,给未来再用到做参考. 1.HTTP的GET请求 这里以访问百度为例,地址h

编写简单的shell脚本 - for循环 - 解决报错 Syntax error: Bad for loop variable

为了编写批量导入数据的程序,故而学习编写shell脚本!现学现用! ============================================ 1.第一个简单的for循环 #!/bin/bashfor i in 1 2 3 4;do echo $i;done 2.测试for的自增长的循环: #!/bin/bashfor ((i=1; i<=5; i++))do echo $i;done 如果会报错,没有则跳过: Syntax error: Bad for loop variable

小鸟初学Shell编程(二)编写简单的Shell脚本

Shell脚本 编写Python.PHP脚本通常需要掌握语言的函数,那么Shell脚本则不需要,只需要掌握Linux命令就可以编写Shell脚本,因为Shell脚本就是由多个Linux命令组成,通过将多个Linux命令组合保存成一个脚本文件,可直接给其他人使用. 组合命令 进入一个目录,查看目录的文件,这个过程分别需要执行两条命令,分别是cd 和ls. 分开执行两个命令的形式如下: [[email protected] usr]# cd /usr/ [[email protected] usr]