Shell初学1

Shell变量


使用变量

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

your_name="qinjx"
echo $your_name
echo ${
     your_name}
# 最好带{
     }
# 再次赋值不带$

只读变量

#!/bin/bash
myUrl="https://www.google.com"
readonly myUrl
myUrl="https://www.runoob.com"

运行结果错误

删除变量

unset variable_name
# 删除后再echo不会有任何输出

Shell 字符串


单引号

str='this is a string'

单引号字符串的限制:

  • 单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的;
  • 单引号字串中不能出现单独一个的单引号(对单引号使用转义符后也不行),但可成对出现,作为字符串拼接使用。

双引号

your_name='runoob'
str="Hello, I know you are \"$your_name\"! \n"
echo -e $str
Hello, I know you are "runoob"! 

双引号的优点:

  • 双引号里可以有变量
  • 双引号里可以出现转义字符

字符串拼接

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
hello, runoob ! hello, runoob !
hello, runoob ! hello, ${
     your_name} !

获取字符串长度

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

提取子字符串

以下实例从字符串第 2 个字符开始截取 4 个字符:

string="runoob is a great site"
echo ${
     string:1:4} # 输出 unoo

Shell数组


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

类似于 C 语言,数组元素的下标由 0 开始编号。获取数组中的元素要利用下标,下标可以是整数或算术表达式,其值应大于或等于 0。

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[@]}

你可能感兴趣的:(其他)