码迷,mamicode.com
首页 > 系统相关 > 详细

SHELL

时间:2020-12-16 11:54:04      阅读:7      评论:0      收藏:0      [点我收藏+]

标签:括号   ade   shel   abc   中间   ror   end   ado   error   

Shell变量,字符串,传递参数

Shell变量

  • 命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。

  • 中间不能有空格,可以使用下划线(_)。

  • 不能使用标点符号。

  • 不能使用bash里的关键字

Shell 变量名示例如下:

JOMMY
J_OMMY
_JOMMY
jommy
JOMMY

使用变量

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

your="zxx"
echo $your
echo ${your_name}

#变量名外面的{花括号}是可选的,为了帮助解释器识别变量的边界

只读变量

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

下面的例子尝试更改只读变量,结果报错:

#!/bin/bash
your="jommy"
readonly your
your="zxx"

运行脚本结果:

[root@localhost ~]# ./2.sh 
./2.sh: line 4: your: readonly variable

删除变量

使用 unset 命令删除变量

unset jommy

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

#!/bin/bash
your="jommy"
unset your
echo $your

以上运行没有任何输出结果

Shell字符串

字符串可以用引号,也可以用引号,也可以不用引号。

单引号

your=‘hello zxx‘

单引号里的任何字符都会原样输出,引号字符串中的变量是无效的;

双引号

#!/bin/bash
your="jommy"
who="zxx $your !"
echo $who

输出结果:

[root@localhost ~]# ./2.sh 
zxx jommy !

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

拼接字符串

#!/bin/bash
your="jommy"
?
# 使用双引号拼接
who="zxx "$your" !"
who1="zxx ${your}"
echo $who $who1
?
#使用单引号拼接
who3=‘zxx ‘$your‘ !‘
who4=‘zxx ${your}‘
echo $who3 $who4

输出结果:

[root@localhost ~]# ./2.sh 
zxx jommy ! zxx jommy
zxx jommy ! zxx ${your}

获取字符串长度

#!/bin/bash
zxx="abcd"
echo ${#zxx}

变量前加符号 “#

输出结果:

[root@localhost ~]# ./3.sh 
4

提取子字符串

实例从字符串第 2 个字符开始截取 5 个字符:

#!/bin/bash
zxx="abcdefdhi"
echo ${zxx:1:5}

输出结果:

[root@localhost ~]# ./3.sh 
bcdef

### 第一个字符的索引值为 0

查找子字符串

查找字符 io 的位置(哪个字母先出现就计算哪个):

#!/bin/bash
zxx="abcdefdhi"
echo `expr index "$zxx" ai`

### 以上脚本中 ` 是反引号

输出结果:

[root@localhost ~]# ./3.sh 1

Shell 传递参数

以在执行 Shell 脚本时,向脚本传递参数,参数的格式为:$nn 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推……

#!/bin/bash
echo "Shell 传递参数实例!";
echo "文件名:$0";
echo "参数一:$1";
echo "参数二:$2";
echo "参数三:$3";

输出结果:

[root@localhost ~]# ./3.sh a b c
Shell 传递参数实例!
文件名:./3.sh
参数一:a
参数二:b
参数三:c
参数处理说明
$# 传递到脚本的参数个数
$* 以一个单字符串显示所有向脚本传递的参数。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。
$$ 脚本运行的当前进程ID号
$! 后台运行的最后一个进程的ID号
$@ 与$*相同,但是使用时加引号,并在引号中返回每个参数。如"$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数。
$- 显示Shell使用的当前选项,与set命令功能相同。
$? 显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。

SHELL

标签:括号   ade   shel   abc   中间   ror   end   ado   error   

原文地址:https://www.cnblogs.com/aiyoubucuo/p/14117274.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!