一.概述 这篇介绍shell的变量使用,跟其实语言一样,都有声明变量,使用变量,在shell中变量允许你临时地将信息存储中shell脚本中,以便和脚本的其他命令一起使用. 1.1 环境变量 在前面章节到了linux系统的环境变量,也可以在脚本中访问这些值.下面使用set 命令来查看当前系统的环境变量列表: [root@hsr ~]# set 截图一小部分,如下所示: 使用echo 在环境变量这前加上美元符($)来使用这些变量,如下图所示:  如果使用echo输出的字符串里含有$符号时,要加上返斜…
命令替换,有两种方式 方式一:`command` 方式二:$(command) user.sh 查找系统中所有的用户,并且输出 #!/bin/bash nginx=`netstat -tnlp | | grep nginx | wc -l` ];then echo "Nginx is running..." else echo "Nginx is stopped" /application/nginx/sbin/nginx fi weeks.sh 今年过了多少周,剩…
Shell 教程 Shell 是一个用C语言编写的程序,它是用户使用Linux的桥梁.Shell既是一种命令语言,又是一种程序设计语言. Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务. Ken Thompson的sh是第一种Unix Shell,Windows Explorer是一个典型的图形界面Shell. Shell 脚本 Shell 脚本(shell script),是一种为shell编写的脚本程序. 业界所说的shell通常都是指she…
一. 字符串的查找 1. vim 中用 / 和 ? 来查找字符串,两者的区别是: /string 会高亮显示光标后匹配的第一个字符串,回车后光标移到该字符串的第一个字母: ?string 会高亮显示光标前匹配的第一个字符串,回车后光标移到该字符串的第一个字母. 在回车之后,按n键同方向转到下一个匹配的字符串,按N键反方向转到上一个匹配的字符串. 2. 用命令 :set ic 和 :set noic 来分别设置查找时不区分和区分大小写. 如果查找特殊字符,如 ^.$.*./ 和 .,需要在前面加…
vi test.sh a= #将${a}里的第一个123替换为321 b=${a//}; echo "echo variable a" echo $a echo "echo variable b" echo $b a= #将${a}里的所有123替换为321 b=${a//123/321}; echo "echo variable a" echo $a echo "echo variable b" echo $b 不过,假如你…
如果表达式中包含特殊字符,Shell 将会进行替换.例如,在双引号中使用变量就是一种替换,转义字符也是一种替换. 举个例子: #!/bin/bash a=10 echo -e "Value of a is $a \n" 运行结果: Value of a is 10 这里 -e 表示对转义字符进行替换.如果不使用 -e 选项,将会原样输出: Value of a is 10\n 下面的转义字符都可以用在 echo 中: 转义字符 含义 \\ 反斜杠 \a 警报,响铃 \b 退格(删除键)…
如果表达式中包含特殊字符,Shell 将会进行替换.例如,在双引号中使用变量就是一种替换,转义字符也是一种替换. 举个例子: #!/bin/bash a=10 echo -e "Value of a is $a \n" 运行结果: Value of a is 10 这里 -e 表示对转义字符进行替换.如果不使用 -e 选项,将会原样输出: Value of a is 10\n 下面的转义字符都可以用在 echo 中: 转义字符 含义 \\ 反斜杠 \a 警报,响铃 \b 退格(删除键)…
如果表达式中包含特殊字符,Shell 将会进行替换.例如,在双引号中使用变量就是一种替换,转义字符也是一种替换. 举个例子: 复制纯文本复制 #!/bin/bash a=10 echo -e "Value of a is $a \n" #!/bin/bash a=10 echo -e "Value of a is $a \n" 运行结果: Value of a is 10 这里 -e 表示对转义字符进行替换.如果不使用 -e 选项,将会原样输出: Value of…
命令替换 命令替换是指Shell可以先执行命令,将输出结果暂时保存,在适当的地方输出.命令替换的语法: `command` 注意是反引号,不是单引号,这个键位于 Esc 键下方.下面的例子中,将命令执行结果保存在变量中: #!/bin/bash DATE=`date` echo "Date is $DATE" USERS=`who | wc -l` echo "Logged in user are $USERS" UP=`date ; uptime` echo &q…
1.单引号 .双引号.反引号的区别 单引号:忽略所有特殊字符 双引号:忽略大部分特殊字符($  `等字符除外) [root@tlinux shell]# echo '*' * [root@tlinux shell]# echo * 输出目录下所有文件 02.sh 03.sh o1hello.sh text.sh [root@tlinux shell]# x=* [root@tlinux shell]# echo $x 02.sh 03.sh o1hello.sh text.sh [root@tl…