Linux学习之Shell脚本(二)

本文介绍了Vim编辑器的三种工作模式——命令模式、末行模式和编辑模式,以及常用的快捷键操作,如光标移动、删除、复制粘贴和分屏。同时,详细讲解了Shell脚本的基础,包括变量定义与使用、循环结构、读文件、条件判断和算术运算符,并给出了实际的示例。此外,还涉及到了函数的定义和参数传递。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.vim的三种工作模式

1.命令模式

打开文件首先进入命令模式,是使用vim编辑器的入口。

在命令模式下,通过使用命令对文件进行常规的编辑操作,例如:复制、粘贴、删除、定位、翻页 等等。

在这个模式下,键盘输入a、A、i、I、s、S 其中之一进入编辑模式(英文输入法下);输入shift + : 进入末行模式;输入shift+zz 退出vim。

2.末行模式

在末行模式下,执行退出文件、保存并退出文件等操作。

末行模式是vim编辑器的出口,要退出vim,必须要在末行模式下。

在这个模式下,键盘Esc 回到命令模式。

3.编辑模式:

编辑代码模式。

在这个模式下,键盘Esc 回到命令模式。

 

二.vim常用快捷键

1.光标移动

k、j、h、l  分别对应  上、下、左、右移动

gg 回到第一行   

G  到最后一行

$   光标到行尾   

0   光标到行首

:set number 显示行号

2.删除

dw 删除光标处单词

dd  删除一行   

3dd  删除三行

3.复制粘贴

yy  复制一行   

dd   剪切一行     

p  粘贴到光标行   

4. 分屏操作

:vsp 分为左右两个屏幕     

:sp  分为上下两个屏幕   

q 退出当前屏幕   

ctrl+ ww 切换屏幕   

 wqall  退出全部屏幕

 

三.Shell语法

1.变量定义与使用

 

#!bin/bash
  
#以#开头的句子表示注释,直到这一行的结束
#定义变量,赋值输出,A=10中间不能有空格
A=10
echo "Hello World"
echo A==$A


#执行,输出
MacBook-Pro:test wangyongqi$ sh test01.sh
Hello World
A==10

#!/bin/sh  或者 #!/bin/bash  必须在文件的第一行,调用sh或bash解释器来执行程序

#! 告诉系统其后路径所指定的程序即是解释此脚本文件的 Shell 程序。

使用一个定义过的变量,只要在变量名前面加美元符号即可

变量类型:

  • 局部变量 局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量。
  • 环境变量 所有的程序,包括shell启动的程序,都能访问环境变量,有些程序需要环境变量来保证其正常运行。必要的时候shell脚本也可以定义环境变量。
  • shell变量 shell变量是由shell程序设置的特殊变量。shell变量中有一部分是环境变量,有一部分是局部变量,这些变量保证了shell的正常运行

2.循环

使用for循环输出1到10

for i in $(seq 10)
do
     echo $i
done

使用while循环输出1到10

int=1
while(($int<=10))
do
    echo $int
    let "int++"
done

查找当前目录下所有的.sh文件,进行打包

a=0
for i in 'find . -name "*.sh"'
do
    a='expr $a + 1'
    tar -czf test+$a.tgz $i
done

3.读文件

输出当前目录路径

echo $PWD
echo 'pwd'

读取文件里面的内容并打印

while read lineVarAA
do    
    echo $lineVarAA
done

4.if语法

#!/bin/bash

num1=100
num2=200

if(($num1>$num2));then
    echo "OK"
else
    echo "else"
fi

5.算数运算符

表达式和运算符之间必须有空格,必须写成 1 + 1,不能为1+1

使用的是反引号 ` ,在Esc键下面

shell 语言中 0 代表 true,0 以外的值代表 false

#expr 是一个表达式计算工具
result=`expr 1 + 1`
echo "两数之和为 : $result"
var1="abc"
var2="qwer"

if [ $var1 = $var2 ]
then    
    echo "相等"
else
    echo "不相等"
fi

6.函数

function 是 Shell 中的关键字,专门用来定义函数;可以带function 定义,也可以直接test01 () 定义

先写函数,再调用,从上往下执行

function test01(){
    var1="Android666"
    echo $var1
}

test01  #调用函数
  

函数传递参数。在函数内部,通过 $n 的形式来获取参数的值,例如,$1表示获取第一个,$2表示获取第二个,当n>=10时,需要使用${n}来获取参数

funParam(){
    echo "第一个参数为 $1 "
    echo "第十个参数为 $10 "
    echo "第十个参数为 ${10} "
    echo "第十一个参数为 ${11} "
    echo "参数总数有 $# 个 "
    echo "输出所有参数 $* "
}
funParam 1 2 3 4 5 6 7 8 9 100 200


#输出结果
第一个参数为 1 
第十个参数为 10 
第十个参数为 100
第十一个参数为 200
参数总数有 11 个
输出所有参数1 2 3 4 5 6 7 8 9 100 200

 

 

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

永琪-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值