sheel脚本入门

前言

在linux操作系统下,各种命令只能单行执行,否则会引起冲突,这给我们平时的使用中带来了极大的不便。为了解决这个问题,sheel脚本应运而生,它将多个linux命令写在同一个文件里,当执行文件时,就相当于执行了多条命令,给我们的操作带来了极大的方便。

sheel脚本的创建

1.sheel脚本本质还是一个写满了命令的文件
这里建议创建一个sheel文件夹,专门存放sheel文件,
不仅便于查看使用,还可以实现脚本之间的方便调用

[root@master shell]# touch test.sh
[root@master shell]# chmod u+x test.sh 
[root@master shell]# vi test.sh

2.在sheel中tab键默认跳8个字符,给格式上带来不便,可以通过以下设置让tab键设置为跳过4个字符,使脚本结构更合理
进入 /etc/virc
再最下面加入

set tabstop=4
set shiftwidth=4

在这里插入图片描述
保存即可

3.在文件开头写入以下代码
#!/bin/bash
就可以将普通文件变为系统能识别的sheel文件
测试一下

#!/bin/bash

echo "hello world"

再开一个界面,到sheel文件夹目录下,执行

[root@master shell]# ./test.sh 
hello world

sheel基本语法

1.控制台输出

echo 默认换行
echo -n 不换行输出

echo "Hello World"
echo -n "Hello Asia"
echo -n "Hello China"

[root@master shell]# ./test.sh 
Hello World
Hello AsiaHello China

2.注释

单行注释:该行最前面加#

多行注释
开始位置 :<<!
结束位置 !

:<<!
echo "Hello World"
echo -n "Hello Asia"
echo  "Hello China"
!

#echo "hello world"
echo "hello wuhan"

[root@master shell]# ./test.sh 
hello wuhan

3.三种变量

数字、字母、下划线,一般字母大写,
值可以是一个数字、文本、文件名、设备或任何其他类型的数据,不可以是指针

shell可以创建,分配和删除变量
(1)普通变量


NAME="henry"
AGE=18
echo "$NAME $AGE"
echo "$NAME,$AGE"
echo $NAME
unset NAME
echo "my name is $NAME"

[root@master shell]# ./test.sh 
henry 18
henry,18
henry
my name is 

(2)sheel变量

命名赋值方法2:
$$ 当前脚本进程号
$0 当前脚本文件名
$n 当前脚本参数
$# 当前脚本参数个数,同时输出值
$* 脚本参数的完整集合
$@ 脚本参数的独立集合

echo $$
echo $0
echo $1
echo $2

echo

echo $#

echo

echo $*
echo
echo $@
echo
echo "$*"
echo
echo "$@"

echo

for var in $*
do
    echo $var
done

echo

for var in "$*"
do
    echo $var
done

echo

for var in $@
do
    echo $var
done

echo

for var in "$@"
do
    echo $var
done


[root@master shell]# ./test.sh polo 25 sheel
1673
./test.sh
polo
25

3

polo 25 sheel

polo 25 sheel

polo 25 sheel

polo 25 sheel

polo
25
sheel

polo 25 sheel

polo
25
sheel

polo
25
sheel

$@	脚本参数的独立集合
不加双引号,和$*相同

加上””则$*代表整体,而$@代表个体

4.常量

常量不可重新赋值,因此会报错

5.数组定义与赋值

方法1:
整体赋值
在这里插入图片描述
在这里插入图片描述
可以看出只能通过$STUDENT输出所有,而不能提取单个元素,因此基本不用此方法

方法2:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

6.环境变量定义

7.算术运算符

在这里插入图片描述
在这里插入图片描述
两种方法
方法1:
用``反单引号,括号里的表达式expr后面和`前面每个字符都要加空格
*要使用转义符
不支持乘方
不支持小数

方法2:使用let var=(2*3),可以避免很多问题,且可以支持乘方
也不支持小数

8.关系运算符与布尔运算符

关系运算符
-eq 意思相同 ==
-ne 意思相同 !=
-lt 意思相同 <
-le 意思相同 <=
-gt 意思相同 >
-ge 意思相同 >=

布尔运算符
!
-o 意思相同 ||
-a 意思相同 &&

使用时有所区别

1.控制台输出

1.控制台输出

1.控制台输出

1.控制台输出

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值