linux shell期末测试,LINUX期末复习---SHELL编程

一、SHELL简介

①什么是SHELL

答:一个作为用户与LINUX系统之间的操作接口程序,允许用户向操作系统输入需要执行的命令。

一种高级、解释性的程序语言。

0818b9ca8b590ca3270a3433284dd417.png

②SHELL的种类

0818b9ca8b590ca3270a3433284dd417.png

③SHELL的执行

.   *.sh

④命令别名功能

设置别名:alias

取消别名:unalias

⑤管道

1、 利用管道和wc命令,计算文件list中的行数、单词数和字符数:cat list | wc.

2、利用管道和grep命令,在上面建立的文件list中查找字符串list:cat list | grep list.

3、设置环境变量PATH的值,把当前目录加入到命令搜索路径中去:PATH=“$PATH:.”

二、SHELL程序设计语法

(说明:1、使用前部需要声明。2、默认是字符串类型。3、区分大小写。)

1)变量

①赋值的方法

方法一:a=9+1,a=guofeng,等号左右时不能有空格的,他们都是以字符串的形式赋值

方法二:read a ,通过键盘的输入

②变量的引用

一般用’$’,来引用,如有一个 guofeng 变量,输出它为,echo $guofeng

举例:   1、echo "Hello $LOGNAME, it's nice talking to you."     输出用户名(说明:双引号中的 ‘$变量’ 是会被替换的,想输出‘$变量’只要加一个’/’转义一下。。。但是单引号里面的内容都是当做字符串输出。。。而到引号则是回去执行里面的命令。)

2、echo "Your present working directory is `pwd`."    输出当前的工作路径(有到引号)

3、echo "You are working on a machine called `uname -n`."     输出服务器名

4、echo The name of this script is $0.    显示命令名

5、echo The arguments are $*.    显示所有的参数行,$? 为前一个命令的返回

6、echo The first argument is $1.     显示第一个参数

7、echo The number of arguments is $#.   显示参数的个数

8、set $(date)    赋值命令行为日期

2)if语句(可用 [] 或 test 来判断)

①基本结构

if  [   条件1  ];  then

代码;

elif  [   条件2  ];  then

代码;

elif  [   条件3  ];  then

代码;

else

代码;

fi

(注意,[],必须与判断条件之间留空格。)

②字符串比较

0818b9ca8b590ca3270a3433284dd417.png

③算数比较

0818b9ca8b590ca3270a3433284dd417.png 

-eq:==

-ne:!=

-gt:>

-ge:>=

-lt:<

-le:<=

!expression:true  or   false

④文件测试

0818b9ca8b590ca3270a3433284dd417.png

3)case、for、while/until语句

1、case使用举例:read choice

case "$choice" in

N) echo "please input a new filename:"

执行语句

;;

E) echo "pleas input a filename:"

执行语句

;;

Esac

2、for使用举例:for((i=1;i<10;i++))

do

echo $i

done

或者for i in 1 2 3 4 5 6 7 8 9

do

echo $i

done

3、while使用举例

index=1

while [ $index -le 100 ]

do执行语句

index=$(($index +1))

done

4)函数

定义:

get_return()

{

echo -e "Press return /c"

read x

return 0

}

调用:

get_return

5)内嵌命令

1、eval:  eval echo hello,输出hello,该命令将其参数连接成命令,并交由shell执行

2、exec: exec . another.sh  用 . another.sh替换掉当前的SHELL

3、expr,let: 表达式赋值

expr: expr `guoefng = 1 + 1` ,guofeng的值即为2.

let: let guofeng=(1+3)*3,guofeng的值即为12,,,(i=1, (( i+=4)) ) 4、echo:  -n 去掉后面的换行符 ,  -e使用字符串的/为转移符 5、read read -a friends     //-a  按数组形式输入 echo "Say hi to ${friends[2]}." 6、trap: trap `rm –rf  guofeng.c` EXIT,当你的shell程序退出时,会自动删除当前目录下的该文件 7、umask:设置用户访问文件的默认属性,umask 0666| 8、times:用户运行命令的时间  times ll 9、type:查询命令是否有效  type ls

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值