shell 脚本学习笔记(一)

微笑

一、the first sh --hello.sh

shell脚本能提高用户操作和管理员进行系统管理的效率,一般步骤
1.编辑器编写脚本程序
2.shell做解释程序,非交互地执行脚本,两种执行方式:
3.用sh命令执行脚本文件
4.给脚本文件添加执行权限,用./命令执行

1、shell的基本元素
(1) #!/bin/bash 必须的,指出shell的类型
(2)# 注释
(3)变量
(4)控制

一般步骤:
(1)编辑文件
(2)保存文件
(3)将文件赋予可执行的权限  chmod 755 run.sh 、 chmod u+x run.sh
(4)运行及排错   运行 ./hello.sh 、 sh hello.sh(不要求执行权限)


一个shell脚本

vi hello.sh

i

#!/bin/bash
# this is hello world

echo "hello world "

echo "my shell"

:wq

sh hello.sh



二、vi 模式下操作命令


1.常用

从命令模式转入编辑模式

新增 (append)
a :从光标所在位置后面开始新增资料
A: 从光标所在行最后面的地方开始新增资料。
插入 (insert)
i: 从光标所在位置前面开始插入资料
I :从光标所在行的第一个非空白字元前面开始插入资料。
开始 (open)
o :在光标所在行下新增一列并进入输入模式。

O: 在光标所在行上方新增一列并进入输入模式。


冒号进命令行模式  :

:q! 不存档强制退出。
:w 保存但不退出,w(rite)后可加所要存档的文档名。
:wq 存档后退出。


光标移动       o 、s  移动该行首\末

                      h、j、k、l(n) 左下上右(n)

Ctrl+b\f         向前\后翻一页

H、M、L      移到窗口第一行、中间行、最后一行

G、nG          移至文件最后一行、移至文件第n行


2.删除与修改

x: 删除光标所在字符   eg   x、3x
dw 删除一个单词·                dw 、3dw
dd :删除光标所在的行
s:删除光标所在字节,并进入输入模式 S:删除光标所在行

u  :恢复刚才被修改的文本  U:恢复光标所在行的所有修改
.:重复上一次命令的操作

复制命令:y
yy: 复制整行
yw:复制光标所在的单词
nyw:复制包括光标所在的n个单词
nyy:复制包括当前行在内的n行

粘贴命令P


3.查找替换

 set nu ‘显示行号

:/string  搜索指定的字符串。按键n:继续进行搜索
  如果写的是斜杠(/):按n会从当前位置向后查找;如果写的是问号(?),按n键则从当前位置向前查找

 查找且替换

:%s  /SEARCH /REPLACE
 把文档中所有SEARCH替换成REPLACE;


:#,#  s /SEARCH /REPLACE /g
 #号表示数字,表示从多少行到多少行,把SEARCH替换成REPLACE;


:s  /SEARCH /REPLACE /g
 把当前光标所在行中的SEARCH单词,替换成REPLACE,并把所有SEARCH高亮显示

:/,? 取消选中颜色

eg  将 2 到 10 行之间的 is 改为 are    :2,10s/is/are/g


三、Shell中的特殊符号

1、注释符# 

除了#!/bin/bash里的#特殊
2、美元符 $
变量符。与反斜杠转义符相反,使其后的普通字符作为变量名,如$a表示变量a的值。变量字符长度超过1个时,用{}括起来
3、单引号
被引起的字符全部做普通字符,即全部原样
 echo ‘my $SHELL’
4、双引号
引号内的内容,除$、转义符\、倒引号`这三个保留特殊功能,其他字符均做普通字符。
5、倒引号(数字1键旁边的那个键)
引号内的字符串当做shell命令行解释执行,得到的结果取代整个倒引号括起来的部分


3、内部变量
内部变量是Linux所提供的一种特殊类型的变量,这类变量在程序中用来作出判断。在shell程序内这类变量的值是不能修改的。
部分内部变量是:
$# ——传送给shell程序的位置参数的数量
$?——最后命令的完成码或者在shell程序内部执行的shell程序(返回值)
$0——shell程序的名称
$*——调用shell程序时所传送的全部参数的单字符串, “参数1”“参数2”…形式保存的参数

$@ “参数1”“参数2”…形式保存的参数
$n 第n个参数

$$ 本程序的PID









 




































 























  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值