#!/bin/bash
shelll="这是一条shell命令"
echo $shelll
name="spring"
#readonly name
#unset 删除便量,unset 命令不能删除只读变量。
unset name
echo $name
age=90
echo ${age}
#字符串
str='这是一个字符串'
echo $str
str='this is a string'
echo -e $str
str="this is dog ,the age is ${age} years old"
echo $str
your_name="runoob"
# 使用双引号拼接
greeting="hello, "$your_name" !"
greeting_1="hello, ${your_name} !"
echo $greeting $greeting_1
#获取字符串长度:#变量名
log="1234506789"
echo ${#log}
#截取字符串(下表从零开始)
echo 截取字符串:${log:0:5}
#获取字符所在的位置(查找子字符串,那个在前那个先出现)
echo 获取字符所在的位置: `expr index "$log" 0`
echo "-------------------------------------------------"
#多行注释 :<<!注释内容!
:<<@
Shell 数组
bash支持一维数组(不支持多维数组),并且没有限定数组的大小。
类似于 C 语言,数组元素的下标由 0 开始编号。获取数组中的元素要利用下标,下标可以是整数或算术表达式,其值应大于或等于 0。
定义数组
在 Shell 中,用括号来表示数组,数组元素用"空格"符号分割开。定义数组的一般形式为:
@
# 数组名=(值1 值2 ... 值n)
arr=(2 4 5 6 8 99 )
# 根据下表取得数组的元素
echo ${arr[3]}
# 取得数组的全部元素
echo ${arr[@]}
echo ${arr[*]}
echo "-------------------------------------------------"
echo "Shell 传递参数实例!";
func1 ()
{
echo "执行的文件名:$0";
echo "第一个参数为:$1"
echo "第二个参数为:$2"
echo "第三个参数为:$6"
}
func1 1 2 3 4 5 7
echo "-------------------------------------------------"
func ()
{
echo "这是第 $6 个参数"
echo "这是第 $4 个参数"
echo "这是第 $1 个参数"
echo 脚本运行的当前进程ID号:"$$"
}
func 1 2 3 4 5 6
echo "--------------------方法传参----------------------------"
getNumber(){
echo 正在学习语言是: "$3"
echo 这个方法一共有:"$#"个参数
echo 脚本运行的当前进程ID号:"$$"
}
getNumber java spring spark python
echo "--------------------shell运算符----------------------------"
val=`expr 2 + 2`
echo "两数之和为 : $val"
mul=`expr 3 + 10`
echo "两数之和为 : $mul"
var=`expr 25 \* 2`
echo "两数的乘积为:$var"