今天复习了一下shell脚本的使用。
#! /bin/sh
echo "hello shell!"
sh也可以换成bash。第一行的#!是一个约定标记, 它告诉脚本这段脚本需要什么解释器来执行。
第二行的echo命令则负责向屏幕上输出一句话。
运行shell程序的种方法:
1、chmod +x使文件具有可执行权限, 直接运行
2、直接调用解释器, 将脚本文件作为参数传入 (比如bash hi.sh)
通常情况下, 最方便的方式就是方式1, 通过方式1执行你需要在脚本第一行写好这段脚本由哪个解释器来解释,
而通过方式2来执行则没有这个限制, 写了也没用. 除此之外方式1与方式2执行命令就没有区别了。
shell中的特殊符号
1、注释符#
除了#!/bin/bash里的#特殊
2、美元符 $
变量符。与反斜杠转义符相反,使其后的普通字符作为变量名,如$a表示变量a的值。变量字符长度超过1个时,用{}括起来
3、单引号
被引起的字符全部做普通字符,即全部原样
echo ‘my $SHELL’
4、双引号
引号内的内容,除$、转义符\、倒引号`这三个保留特殊功能,其他字符均做普通字符。
5、倒引号(数字1键旁边的那个键)
引号内的字符串当做shell命令行解释执行,得到的结果取代整个倒引号括起来的部分。
`pwd` 即pwd命令的执行结果
$LOGNAME 系统变量
区别下面几句:
echo ‘my home is $HOME’
echo “my home is $HOME”
echo `my home is $HOME`
echo “my home is `pwd`”
echo ‘my home is `pwd`’
6. 反斜线
反斜线是转义字符,它能把特殊字符变成普通字符。在某个字符前面利用反斜杠(\)能够阻止shell把后面的字符解释为特殊字符。、
echo “Filename is N0\$\`”
和其它语言一样Shell中也有变量, 而且更简单, 但有一些比较特殊的地方.
1、Shell中的变量只有字符串这一种类型
2、Shell中变量名与变量值没有长度限制
3、Shell的变量也允许比较操作和整数操作, 只要变量中的字符串为数字
创建变量
1、可以在任何时间通过简单的赋值来创建变量
语法:
<variable name>=<value>
Shell中的所有变量都被当作字符串
2、引用变量
$符号用于引用一个变量的内容
variable1=${variable2}
3、在执行shell脚本时,shell还允许用户从键盘中输入一个值给变量。可以使用read命令来做。
$ read fname
变量的替换
1、在单个命令行中使用多个命令的一个方法是通过命令替换例:echo "The date is `date`"
2、expr命令:用于求值算术表达式。该命令输出被发送到标准输出
例:expr 4+5 将在屏幕上显示9
3、可以在$((...))中包括一个表达式,用下面的命令来计算它的值:
$((表达式))
判断命令
test n1 -参数 n2(或 –参数 表达式)
真返回0,假返回1。
参数:
-lt 小于
-le小于等于
-gt 大于
-ge 大于等于
-eq 等于
-ne 不等于
·test语句的等价形式[ 1 –lt 4 ]
可用中括号代替test,把表达式括起来实现判断
注意表达式与中括号间有空格。
test 1 –lt 4 #判断1<4
echo $? #结果为0
今天就复习到这,明天继续努力。