shell相关基本知识汇总

xiaoxiao2023-03-22  43

一、基本说明:

1)shell脚本的开头:#!/bin/sh。解释:此语句放在shell脚本的开头;其意为告诉编译器,shell需要bin文件夹下的sh解释器进行解析。

2)注意空格。在写if语句时,需要注意if[ xx ],[  ]内部两侧是要有空格的。

3)#为注释符。

4)转移字符需要使用\。比如输出$符号,需要写成\$。

5)break关键字不是用来跳出switch case语句,而是用来跳出循环。也就是说,在shell的switch case语句中,没有break关键字。

6)shift关键字用在shell中,相当于左移的功能。

7)case......esac、do.......done。

二、基本命令解释及举例说明

1)-f:判断文件是否存在。

e.g.:判断a.txt文件是否存在,如果存在输出exists;如果不存在输出no exists,并且创建b.txt文件。

if[ -f a.txt ]; then

                   echo  "exists"

else            

                   echo  "no exists"

                   touch b.txt

fi

2)-z:判断字符串是否为空。

3)||:[ 条件为假 ] || 执行语句。

4)&&:[ 条件为真 ] && 执行语句。

e.g.:判断字符串是否为空,如果字符串不为空,输出string is not empty。

string="ddd"

[ -z $string ] || echo "string is not empty"

e.g.:判断字符串是否为空,如果字符串为空,输出string is empty。

string=""

[ -z $string ] && echo "string is not empty"

5)-eq:判断两个数是否相等。

6)-gt:大于

7)-lt:小于

8)-ge:大约等于

9)-le:小于等于

三、其他命令:

1、调用linux命令:

1)使用 ``符号,可以调用linux命令,并返还此命令执行后的结果。

e.g.:执行Linux的pwd命令,并打印出来pwd命令执行后的结果。

PWD= `pwd`

echo PWDVALUE=$PWD

2、循环语句:

1)for循环:do......done中的内容为循环体;do......done相当于大括号,即{......}。

e.g.:打印出123456

for i in 1 2 3 4 5 6

do

       echo $i

done

2)while循环:

e.g.:如果v1小于v2,v1+1并打印出v1的值。

v1=1

v2=10

while [ $v1 -lt $v2 ]

do

       echo $v1

       v1=$(($v1+1))

done

3、echo命令创建文件并追加内容:

1)>:创建文件并在文件中添加内容。

2)>>:在已经存在的文档中末尾继续追加内容。

e.g.:在已经存在的文件echomain.c文件中添加头文件和void main函数。

echo "#include <stdio.h>

void main()

{

       return 0;

}" >> echomain.c

4、shift的使用:$#---传参的参数总个数;$0----使用的解释器;$1---第一个传参;$2---第二个传参......依次类推

e.g.:

echo $# $0 $1 $2 $3 $4

shift;

echo $# $0 $1 $2 $3 $4

shift;

echo $# $0 $1 $2 $3 $4

shift;

echo $# $0 $1 $2 $3 $4

shift;

echo $# $0 $1 $2 $3 $4

在命令行输入:source xxxxx.sh aa bb cc dd

执行结果:

 

转载请注明原文地址: https://www.6miu.com/read-4987512.html

最新回复(0)