初学shell命令(1)

使用变量
首先显示消息,最基本的echo命令,echo后面的字符串会直接显示控制台显示器上。

echo  "this is shell"

看个人习惯吧,单引号,双引号都可以,不加也可以。如果字符串中含有单引号或者双引号,就用另一种将字符串划定起来,这边的变量可以是环境变量也可以是用户变量。

环境变量

echo HOME:$HOME   ----HOME:/home/work
echo PATH:${PATH}     HOME:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/opt/apps/openresty/nginx/sbin:/opt/apps/php/bin:/home/work/.local/bin:/home/work/bin
echo PATH:\$PATH       -----HOME:$PATH  \允许shell将$解读为实际的美元符号

用户变量

name="shell"
echo {name} 或者echo name    ----shell
name2=$name
echo name2   ----shell

字符串相关

name="this is mike"
echo ${name}   --- this is mike
echo ${#name}  ---12  获取字符串长度
字符串截取
echo ${name:0:4}  ---从左往右第一个截取至第四个  this
echo ${name:4}  --- 从左往右第四个开始截取至最后  is mike
echo ${name:0-4:7}  ---从右往左算起0-4个,截取3个   mik
echo ${name:0-4}   ---从右往左截取4个   is mike
echo ${name#*s}  --- 从第一个s截取   is mike
echo ${name##*s}  --- 贪婪匹配  mike
echo ${name%i*}   ---从右往左匹配  this is m
echo ${name%%i*}   ---贪婪匹配  th
字符串替换
echo ${name/is/iss}  ---替换第一个is   thiss  is mike
echo ${name//is/iss}  ---贪婪匹配,替换所有is   thiss iss mike
echo ${name/#*s/iss} --- iss mike
echo ${name/%i*/iss}  --- thiss
expr的字符串操作
expr index "$name" i --- 3 查找i的索引(1开始计数)
expr length "$name"   ---name的长度
expr match "$name" this ---4  
expr substr "$name" 3 4   ---  s is  返回一个以 StartPosition 的字符开始的在 String1 中的字符串,并且是 Length 长度的字符串(substr String1 StartPosition Length)

数组相关
数组也是用户变量的一种,能够存储多个值的变量,可以单独引用,也可以作为整个数组来引用

数组定义

name=(this is mike)
-------------------
name[0]=this
name[1]=is
name[2]=mike
-------------------
str="this is mike"
name=($str)
操作数组
name=(hello everyone my name is mike)
echo ${name}   --- hello
echo ${name[2]}  --- my
echo ${name[@]}  ---hello everyone my name is mike  (通配符也可以换乘 *)
-------------------
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值