shell脚本学习笔记(一)

Shell脚本学习笔记

​ Shell 脚本(shell script),是一种为 shell 编写的脚本程序。

第一个shell脚本

​ 打开文本编辑器(可以使用 vi/vim 命令来创建文件),新建一个文件 test.sh,扩展名为 sh(sh代表shell),扩展名并不影响脚本执行,见名知意就好,如果你用 php 写 shell 脚本,扩展名就用 php 好了。

#!/bin/bash
echo "Hello World !"

ps:

1、文件开头解析必须指定 #!/bin/bash 或 #!/bin/sh,定义脚本的解释器;

2、echo命令用于向窗口输出文本。

运行脚本

chmod +x ./test.sh  #使脚本具有执行权限
./test.sh  #执行脚本

Shell变量

定义变量

your_name="runoob.com" //命名规则与java类似

for file in `ls /etc`
或
for file in $(ls /etc)  //给变量赋值

使用变量

your_name="jw"
echo $your_name
echo "I am ${your_name}" //加花括号是为了帮助解释器识别变量边界

只读变量

#!/bin/bash
myUrl="https://www.google.com"
readonly myUrl
myUrl="https://www.runoob.com"   //只读变量的值不能改变

删除变量

unset variable_name  //不能删除只读变量

变量类型

局部变量
环境变量
shell变量

Shell字符串

​ 字符串可以用单引号,也可以用双引号,也可以不用引号。

单引号

str='this is a string'  //任何字符原样输出,变量无效。单个引号无法存在

双引号

your_name='runoob'
str="Hello, I know you are \"$your_name\"! \n"
echo -e $str   //双引号中可以存在变量和转义符

拼接字符串

your_name="runoob"
// 使用双引号拼接
greeting="hello, "$your_name" !"
greeting_1="hello, ${your_name} !"
echo $greeting  $greeting_1
// 使用单引号拼接
greeting_2='hello, '$your_name' !'
greeting_3='hello, ${your_name} !'
echo $greeting_2  $greeting_3

获取字符串长度

string="abcd"
echo ${#string} #输出 4

截取字符串

string="runoob is a great site"
echo ${string:1:4} // 输出 unoo 从字符串第 2 个字符开始截取 4 个字符

查找子字符串

string="runoob is a great site"
echo `expr index "$string" io`  # 输出 4

Shell 数组

​ bash支持一维数组(不支持多维数组),并且没有限定数组的大小。

定义数组

数组名=(值1 值2 ... 值n)
array_name=(value0 value1 value2 value3)   //用空格作为分隔符
或者
array_name=(
value0
value1
value2
value3
)
或者
array_name[0]=value0
array_name[1]=value1
array_name[n]=valuen    

读取数组

valuen=${array_name[n]}
${数组名[下标]}

echo ${array_name[@]}  //使用 @ 符号可以获取数组中的所有元素

获取数组长度

// 取得数组元素的个数
length=${#array_name[@]}
// 或者
length=${#array_name[*]}
// 取得数组单个元素的长度
lengthn=${#array_name[n]}

Shell注释

多行注释
#--------------------------------------------
# 这是一个注释
# author:菜鸟教程
# site:www.runoob.com
# slogan:学的不仅是技术,更是梦想!
#--------------------------------------------
##### 用户配置区 开始 #####
#
#
# 这里可以添加脚本描述信息
# 
#
##### 用户配置区 结束  #####
    
或者
:<<EOF
注释内容...
注释内容...
注释内容...
EOF
或者
:<<!
注释内容...
注释内容...
注释内容...
!
    
    
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值