linux shell期末测试,LINUX期末复习---SHELL编程
一、SHELL简介
①什么是SHELL
答:一个作为用户与LINUX系统之间的操作接口程序,允许用户向操作系统输入需要执行的命令。
一种高级、解释性的程序语言。
②SHELL的种类
③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
(注意,[],必须与判断条件之间留空格。)
②字符串比较
③算数比较
-eq:==
-ne:!=
-gt:>
-ge:>=
-lt:<
-le:<=
!expression:true or false
④文件测试
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
linux shell期末测试,LINUX期末复习---SHELL编程相关推荐
- linux开发板测试,Linux 开发板常规测试
[正点原子]I.MX6U用户快速体验V1.2.pdf 1. LED 与蜂鸣器测试 LED 测试 echo none > /sys/class/leds/sys-led/trigger # 改变 ...
- linux odbc 数据源测试,linux操作系统配置ODBC数据源
1.安装ODBC数据包,可以通过手工编译的方式也可以通过rpm包的方式进行安装,本文选择rpm包的安装方式: [root@boserver odbc]# ls -l 总计 1656 -rw-r--r- ...
- linux音频驱动程序测试,Linux声卡驱动移植和测试
一.分析驱动程序,根据开发板修改代码 代码太长,就不贴了,几个注意点: 1. 查看开发板原理图和S3C2410的datasheet,UDA1341的L3MODE.L3DATA.L3CLOCK分别与S3 ...
- linux ssd iops测试,Linux系统硬盘的IOPS测试
Linux系统硬盘的IOPS测试 什么是IOPS? IOPS (英文:Input/Output Operations Per Second),即每秒进行读写(I/O)操作的次数,多用于数据库等场合,衡 ...
- linux cpu 主频测试,linux cpu 主频
SCC(超级计算集群)简介 SCC概述 超级计算集群(Super Computing Cluster,SCC)使用高速RDMA网络互联的CPU以及GPU等异构加速设备,面向高性能计算.人工智能/机器学 ...
- linux who命令测试,Linux中的who命令详细示例
who是一个命令行实用程序,可打印当前登录用户的列表.它还可以显示当前的运行级别,上次系统引导的时间等.在本文中,我们解释展示了GNU coreutils软件包中捆绑的who命令用法示例. 如何使用w ...
- linux下无线网卡测试,Linux C程序如何检测WIFI无线USB网卡是否可用?
最新做一个WIFI应用项目.如何检测WIFI USB设备是否插上了呢?特此共享. 第一种方法,采用读取文件的方式.在linux下,任何一种设备都可看成文件.通过分析相关文件信息,可得知WIFI设备是否 ...
- linux读写文件测试,Linux下各种主要文件系统的读写性能测试
1.不用说,tmpfs是最快的,呵呵 2.ext2 写测试: [Copy to clipboard] [ - ] CODE: debian:/mnt/sda1# time dd if=/dev/zer ...
- linux磁盘配额测试,linux磁盘配额练习题
1)建立测试组gtest,测试用户test1,test2,test3以上两个测试用户的初始组为gtest 参考答案: groupadd gtest useradd -m -g gtest test1 ...
最新文章
- O“.NET研究”bjective-C入门
- python第三方库之Django学习笔记一
- 完整计算机组成系统,计算机组成原理与完整系统结构.doc
- What happens when clicking interaction recor工作中心
- 一张图告诉你为什么是服务网关
- python httplib2的安装
- C语言头文件尖括号和双引号的区别
- easymock使用方法_EasyMock无效方法– ExpectLastCall()
- 学生学籍管理系统页面源代码html_学生管理系统(界面+源代码)
- 秋叶一键重装系统连接服务器失败,秋叶一键重装系统win7系统安装和使用DAEMONToolsLite的方法【图文教程】...
- NBNS 数据包 和 NetBIOS 协议
- 2021 年最漂亮的 Linux 发行版
- 书中自有黄金屋系列5:读《正面管教》
- 趣图 | EDG牛逼!!!
- 页面打印表格换页问题
- 好好说话之Fastbin Attack(1):Fastbin Double Free
- 萌新学Java之渐入佳境三-----线程试炼
- 6374. 【NOIP2019模拟2019.10.04】结界[生与死的境界]
- HDU-6608-Fansblog(威尔逊定理+快速乘)(多校)
- 安全协议系列(二)----CCM与CCMP