Shell教程
Shell是一个C语言编写的教程,他是用户使用Linux的桥梁。Shell即是一种命令语言,有事一种程序设计语言。 Shell是指一种应用程序,这个应用程序提供一个界面,用户通过这个界面访问操作系统内核的服务
Shell脚本
Shell脚本(shell script),是一种为shell编写的脚本程序
第一个Shell脚本
打开文本编辑器(vi/vim创建文件),新建一个test.sh 1
2
echo "Hello World!"#!
是一个约定的标记,他告诉系统这个脚本需要什么解释器来执行,即使用哪一种Shell - echo命令是用于向窗口输出文本 1
2chmod +x test.sh #给脚本赋可执行权限
./test.sh
Shell变量
定义变量,如下 1
2echo_str="Hello World ehco"
echo $echo_str_
- 不能使用标点符号 - 不能使用bash里的关键字
除了显式地直接赋值,,还可以用语句给变量赋值 1
2
3
4
5for file in `ls /etc`;do
echo $file
done
或
for file in $(ls /etc)1
2
3your_name="Hello World"
echo $your_name
echo ${your_name}1
2
3for skill in Ada Coffe Action Java; do
echo "I am good at ${skill}Script"
done
只读变量
使用readonly命令可以讲变量定义为只读变量,只读变量的值不能被改变 下面的例子是尝试更改只读变量,结果报错 1
2
3
4
myUrl="http://www.baidu.com"
readonly myUrl
myUrl="http://xyd.com"1
/bin/sh: NAME: This variable is read only.
删除变量
使用unset命令可以删除变量 1
unset variable_name
变量类型
运行shell时,会同时存在三种变量: - 局部变量:局部变量在脚本或命令中定义,尽在当前shell实例中有效,其他shell启动的程序不能访问局部变量 - 环境变量:所有的程序,包含shell启动的程序,都能访问环境变量,有些程序需要环境变量来保证其正常运行。必要的时候shell脚本可以定义环境变量 - Shell变量:shell变量是由Shell程序设置的特殊变量。Shell变量中有一部分是环境变量,有一部分是局部变量,这些变量保证Shell的正常运行
Shell字符串
字符串是Shell中最常用最有用的数据类型,字符串可以用单引号,也可以用双引号,也可以不用引号
单引号
1 | danyinhao='danyinhao' |
单引号字符串的限制: - 单引号里的任何字符都会鸳鸯输出,单引号字符串中的变量是无效的 - 单引号子串中不能出现单独一个单引号,但可以承兑出现,作为字符串拼接
双引号
1 |
|
输出内容如下 1
Hello,I know you are "test name"!
拼接字符串
1 |
|
执行输出结果 1
2hello,Daniel! hello Daniel!
hello,Daniel! hello,${your_name}!
获取字符串长度
1 | string="abcd" |
提取子字符串
下面实例从字符串第2个字符开始截取4个字符 1
2string="runoob is a great site"
echo ${string:1:4} # 输出 unoo
查找子字符串
查找字符i或o的位置(那个字母先出现就计算哪个) 1
2
3#/bin/bash
string="runoob is a great site"
echo `expr index "$string" io` #输出4
Shell数组
Shell相关实例
查询软件是否安装
1 | #或者pName=`exec rpm -qa|grep mariadb` |
for循环遍历打印rpm安装的包
1 |
|