第四周小结

这周我们主要学习了写脚本的简单语法,写了一些简单的脚本,下面就由我来简单介绍一下:

第一步使用文本编辑来创建脚本:第四周小结

创建好后在里面写想要运行的脚本即可,然后按Esc—wq退出保存即可。也可以按q不保存退出;q!不保存强制退出;wq!保存强制退出。

第二步运行脚本,给予执行权限,在命令行上指定脚本的相对路径和绝对路径

第四周小结

对了,当在脚本里输入内容时,要Ese—i,进入输入模式。

第四周小结

bash -n f1.sh:bash编写完脚本后我们可用:bash –n 脚本名 (对脚本进行语法测试) ,没错会什么也不显示

bash -x f1.sh :显示脚本运行的过程

变量:

第四周小结

查看当前进程号

pstree:进程树

ps -ef :显示进程信息

第四周小结

echo $$:查看当前进程号

echo $PPID:查看当前的父进程

echo $SHLVL:查看当前第几级bash,  bash–echo $SHLVL进入子bash;exit,显示上一级bash,zhidao tuichu

 

本地变量:仅对当前SHELL有效,对子SHELL也无效

第四周小结

 

环境变量:对当前SHELL及其子SHELL均有效。

第四周小结

本地变量与环境变量的区别就是;本地变量对子shell无效,环境变量对子shell有效

 

如何查看是环境变量还是本地变量:

set:即显示本地变量又显示环境变量

env:只显示本地变量

unset s :删除变量s

.和source 只会在当前shell下执行文件,不会进入子shell

第四周小结

 

在赋值时“”时部完全转译

”完全转译

第四周小结

 

 

readonly name

declare -r name :设置只读变量

第四周小结

readonly -p :查看进程中所有的只读变量

位置变量:在脚本代码中调用通过命令行传递给脚本的参数
$1, $2, …:对应第1、第2等参数,shift [n]换位置
$0: 命令本身
$*: 传递给脚本的所有参数,全部参数合为一个字符串
$@: 传递给脚本的所有参数,每个参数为独立字符串
$#: 传递给脚本的参数的个数
$@ $* 只在被双引号包起来的时候才会有差异

第四周小结

 

bash中的算术运算:help let
+, -, *, /, %取模(取余), **(乘方)在bc当中乘方是^
实现算术运算:
(1) let var=算术表达式
(2) var=$[算术表达式]
(3) var=$((算术表达式))
(4) var=$(expr arg1 arg2 arg3 …)   乘法时要转译* ,即\*
(5) declare –i var = 数值
(6) echo ‘算术表达式’

第四周小结

第四周小结

 

第四周小结

bc里的乘方只能用^;2^3

let里的乘方用**;2**3

 

echo $[$RANDOM%50]显示的是0-50

第四周小结

 

 第四周小结

与:

真与真  真
真与假  假
假与真  假
假与假  假

只要有一个假则为假

短路与 前一个为假,则不再判断第二个值。

或

真或真 真
真或假 真
假或真 真
假或假 假

只要有一个真则为真

短路或,前一个为真,则不再判断第二个值
第四周小结

补充:ROOT权限:

root权限虽然很大,但在执行的时候文件上必须有执行权限,文件所属人,所属组,其他人必须要有一个执行权限,之后root才能-x出来,不然root也没办法,以为会默认把他当成普通文件,而普通文件本身就没办法执行,所以权限位有了x相当于脚本了,就可以查了。

今天先总结到这里吧,剩余没有总结完的,我课下在看看。

原创文章,作者:menger,如若转载,请注明出处:http://www.178linux.com/84018

赞 (0)
mengermenger
上一篇 2017-08-06 22:14
下一篇 2017-08-06 22:29

相关推荐

  • 马哥教育网络班22期+第12周课程练习

    1、请描述一次完整的http请求处理过程; 1. 建立或处理连接:接收请求或拒绝请求; 2. 接收请求:接收来自于网络上的主机请求报文中对某特定资源的一次请求的过程; 3. 处理请求:对请求报文进行解析,获取客户端请求的资源及请求方法等相关信息; 4. 访问资源:获取请求报文中请求的资源; 5. 构建响应报文…

    Linux干货 2016-11-28
  • N25-第二周博客作业

    第二周博客作业 1.Linux上的文件管理类命令都有哪些,其常用的使用方法和演示 2.bash的工作特性之命令执行状态返回值和命令行展开所涉及内容演示及其实例 3.请使用命令行展开功能完成以下练习;    (1)创建/tmp的目录下a_c,a_d,b_c,b_d     (2) 创建/tmp/mylinux目录下的 4…

    Linux干货 2016-12-11
  • 磁盘分区知识总结

    Linux中df命令的功能是用来检查linux服务器的文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。 1.命令格式: df [选项] [文件] 2.命令功能: 显示指定磁盘文件的可用空间。如果没有文件名被指定,则所有当前被挂载的文件系统的可用空间将被显示。默认情况下,磁盘空间将以&nbsp…

    Linux干货 2017-08-19
  • 对ssh的简单理解

    ssh:secure shell,protocol,22、tcp安全的远程登录 具体的软件实现:openssh:ssh协议的开源实现,centos默认安装dropbear:另一个开源实现ssh协议版本v1:基于crc-32做MAC,不安全;man-in-middle 已淘汰v2:双方主机协议选择安全的MAC方式基于DH算法做密钥交换,基于RSA或DSA实现身…

    2017-09-29
  • 把编译安装的httpd 实现服务脚本,通过service和chkconfig 进行管理

    把编译安装的httpd 实现服务脚本,通过service和chkconfig 进行管理 1 编译安装httpd 把httpd编译安装在/app/httpd/目录下。 2 在/etc/rc.d/init.d/目录下新建一个文件httpd 这个文件的目的在于让service 命令可以管理编译安装的httpd服务。 文件内容如下: [root@CentOS68 ~…

    Linux干货 2017-05-15
  • Linux的基本介绍

    1、Linux的发行版分为:Debin,Slackware,Rhel,Redora,CentOS,Gentoo等,其中Rhel(Red Hat Enterprise Linux)使用的是版本比较老的内核,但它的系统比较稳定,一个发行周期是36个月,Fedora使用最新的应用和华丽的节目,但系统比较不稳定,一个发行周期是6个月。 2、Linux的哲学思想是一切…

    Linux干货 2016-02-14