shell基础编程

这篇博客介绍了Shell编程的基础,包括变量定义、使用、拼接、数组、运算符、条件语句和文件测试运算符等,强调了良好的编程习惯,如使用花括号明确变量边界,并给出了多个示例。
摘要由CSDN通过智能技术生成
  • Shell变量:定义变量时,变量名不加美元符号($PHP语言中变量需要),如:

your_name="shenlancode.com"

注意:变量名和等号之间不能有空格

变量名命名规则:

  1. 命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。
  2. 中间不能有空格,可以使用下划线(_)。
  3. 不能使用标点符号。
  4. 不能使用bash里的关键字(可用help命令查看保留关键字)。
  5. 有效的 Shell 变量名示例如下:

SHENLANCODE

           LD_LIBRARY_PATH

       _var

var2

  1. 无效的变量命名:

?var=123

User*name=shenlancode

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

Your_name=”qinjx”

echo $your_name

echo ${your name}

 

(2) 变量名外面的花括号是可选的,加不加都行,加花括号是为了帮助解释器识别变量的边界,比如

加花括号是:

如果不给skill变量加花括号,写成echo "I am good at $skillScript",解释器就会把$skillScript当成一个变量(其值为空),代码执行结果就不是我们期望的样子了。

如图:

注:推荐给所有变量加上花括号,这是个好的编程习惯。

3已定义的变量,可以被重新定义

      your_name=”tom”

      echo $your_name

      your_name=”alibaba”

      echo $your_name

这样写是合法的,但注意,第二次赋值的时候不能写$your_name=”alibaba”,使用变量的时候才加美元符$

  • 只读变量

使用 readonly 命令可以将变量定义为只读变量,只读变量的值不能被改变。

myUrl=”http://www.w3cschool.com

readonly myUrl

  • 删除变量

 使用 unset 命令可以删除变量。语法:

unset variable_name

变量被删除后不能再次使用。unset 命令不能删除只读变量。实例

#!/bin/sh
myUrl="http://www.shenlancode.com"
unset myUrl
echo $myUrl

以上实例执行将没有任何输出。

  • 运行shell时,会同时存在三种变量:局部变量、环境变量、shell变量。
  • Shell字符串
  1. 获取字符串长度

   string=”abcd”

   echo ${#string}    #输出4

(2)提取子字符串

  string=”shenlancode is a great site”

  echo ${string:1:4}   #输出

(3)拼接字符串

your_name="qinjx"
greeting="hello, "$your_name" !"
greeting_1="hello, ${your_name} !"
echo $greeting $greeting_1

运行结果如下:

4)查找子字符串

查找字符“is”的位置

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值