变量


Shell变成中一般有三种变量:

  1. 自定义变量:仅在当前Shell中定义的变量。
  2. Linux已定义的环境变量:使用env命令查看所有的环境变量,而使用set命令既可以查看环境变量也可以查看自定义变量。
  3. Shell变量:即存在Shell程序中的特殊变量(目前还没接触到)。

数值变量

数值变量声明

#!/bin/bash
              
var1=3        
              
echo var1  
echo $var1
var1
3

字符串变量

字符串变量声明

#!/bin/bash

var="https://blog.csdn.net/qq"

echo $var                                   
echo '单引号——网址:$var'
echo "双引号——网址:$var"
https://blog.csdn.net/qq
单引号——网址:$var
双引号——网址:https://blog.csdn.net/qq

单引号中是纯文本,而双引号则可以在里面使用变量,从而达到字符串拼接的效果。

字符串截取一

#!/bin/bash
 
var="https://blog.csdn.net/qq"
 
echo "原串:$var"
echo "截取:${var:5:10}"    
原串:https://blog.csdn.net/qq
截取:://blog.cs

取字符串下标5,然后开始截取10个字符。

字符串截取二

#!/bin/bash
 
var="https://blog.csdn.net/qq"
                       
echo ${var%/*}
echo ${var%%/*}
echo ${var#*/}
echo ${var##*/}
https://blog.csdn.net
https:
/blog.csdn.net/qq
qq

依效果看%是截取直到最后一个匹配项之前的内容,而%%则是截取第一个匹配项之前的内容。#是截取第一个匹配项之后的内容,二##则是截取最后一个匹配项之后的内容。