linux下shell文件编辑的一些简单操作

2016-09-07  本文已影响61人  半夏半暖半孤单

1.注释

#:注释单行

2.标识符命名规范

硬性规范:

1>标识符只能由数字,下划线,字母构成

2>不能由数字开头

3>不能与shell关键字相同

建议:

1>禁止使用汉语拼音,多查查字典

2>使用驼峰命名法,或者使用下划线连接

3>见名知义

3.变量的定义

1>变量一旦定义出来,就必须给他赋值

2>变量定义时,=号左右不要有空格

3>变量是可以重新赋值

4>如果变量定义成readonly,代表着这个变量不能被再次赋值

注意:shell脚本变量在没有定义的前提下,直接使用,这个变量默认为空

4.变量的使用

1>变量在使用时要在变量前加$

2>在删除变量时,不需要加$

5.echo命令

1>用来输出变量的值

2>会自动换行

3>如果想对\c,这种特殊字符进行转义:

(1)如果是第一种运行方式:./1.sh,必须要对echo开启转义echo -e

value="hello world"

echo -e "${value}\c"

echo "ni hao"

(2)如果是第二种运行方式:sh 1.sh,则不需要对echo开启转义

value="hello world"

echo  "${value}\c"

echo "ni hao"

4>\c不换行,\n换行,\t相当于tab键

6.变量使用加{},不是加()

1>避免使用不存在的变量

2>增加程序的可读性

7.unset删除变量

1>删除变量不需要加$

2>删除变量之后,再使用这个变量的时候默认为空

3>如果这个变量是只读变量,是不能删除这个变量的

8.字符串相关处理方法

1>求字符串长度

value="hello world"

length=${#value}

echo ${length}

2>拼接字符串

value="hello world"

value1="ni hao"

value2="${value}      ${value1}"

echo ${value2}

注意:拼接时,中间空出的空格,无论空出多少,只会默认空出一格

3>截取字符串

value="hello world"

value1=${value:6:5}

echo ${value1}

注意:字符串从位置0开始,截取字符串时,要说明截取的起始位置和截取长度

9.echo输出加"",'',不加任何东西

1>加'',如果在''号里面输出变量,会把变量当成字符来处理

2>不加任何东西,程序可读性变低,分不清哪些是命令,哪些是变量

3>加了"",会避免上面的问题

注意:建议使用双引号""

10.printf(格式化输出命令)

1>不用像echo命令那么那么复杂

2>按照一定的格式输出

3>输出双引号里面的东西

value="hello"

value1="world"

printf "value=%s\nvalue1=%s\n" "$value" "$value1"

%d:输出十进制整数

%s:输出字符串

%c:输出字符

%f:输出带小数点的数

注意:%d和%c输出类型比较严谨

11.read命令

1>等待输入的值,将值赋给read后面的变量

printf "请输入一个数:"

read num

printf "请再次输入一个数:"

read num1

printf "num=%s\nnum1=%s\n" "$num" "$num1"

12.整数基本运算符

1>算术运算+ 、-、\*、/、%

value1=1

value2=2

value3=`expr $value1 + $value2`

value4=`expr $value1 - $value2`

value5=`expr $value1 \* $value2`

value6=`expr $value1 / $value2`

value7=`expr $value1 % $value2`

注意:$()和``代表取出数据的结果集

2>关系运算符\>、\>=、\<、\<=、\=、\!=

value1=12

value2=123

result1=`expr $value1 \>= $value2`

result2=`expr $value1 \== $value2`

result3=`expr $value1 != $value2`

echo $result1

echo $result2

echo $result3

注意点:\=、\!=,比较特殊,看编译器的支持,

3>如果数字关系运算符与[]连用,使用下面的方式比较

-eq:

-ne:

-gt:

-lt:

-ge:

-le:

eq:equal

n:not

g:greater

l:less

t:than

4>逻辑运算符

&&:而且

||:或者

13.if语句的使用

1>

if [ 条件 ]

then

语句1

fi

2>

if [ 条件 ]

then

语句1

else

语句2

fi

3>

if [ 条件 ]

then

语句1

elif [ 条件 ]

then

语句2

else

语句3

fi

注意点:

1>如果有else,else只能放在最后面

2>if语句是可以嵌套的,最多3层

14.${},$(),$(())的区别

15.let命令

1>计算整数

2>除了可以运算+ - * / %,还可以运算+=  -=  /=  *=  %=

3>还可以计算++ --

4>运算时不需要添加$

num1=3

let num2=++num1  #num1=num1+1,num2=num1

let num2=num1++  #num2=num1,num1=num1+1

明天接着学习更新持续进行...

上一篇下一篇

猜你喜欢

热点阅读