复试篇--Shell学习

(1)BASH
我们必须通过shell将我们输入的命令与内核沟通,好让内核可以控制硬件来正确无误地工作。

变量的设置等:
解析出变量:
echo $HOME

设置变量:(等号两边不能有空格)
myname=kangwenbin
echo $myname

在原来变量后面添加:
PATH=${PATH}:/home/bin

将普通变量改为环境变量(即该变量还要在其他程序中使用)
export PATH

变量设置中,注意单引号和双引号的区别

子进程仅会继承父进程的环境变量,不会继承父进程的自定义变量

ls -ld $(locate crontab) :找出每个crontab相关文件名的权限
要懂得这里$的用法.

正则表达式:
目的:字符串处理的标准依据,把认为重要的信息提取出来
。也即字符串的查找、删除、替换

grep:以行为单位进行匹配,匹配出含有特定字符的行
-n:带有行号输出
grep -n ‘^t’ :行首字符^的使用,列出以t为开头的行
grep - n ‘[a-z]’ :列出含有小写字母的行
grep -n ‘.$’:找出以.结束的行。行尾字符$的使用
. :小数点代表【一定有一个字符】
* :*号代表【重复前一个字符,0到无穷多次】,即*00代表拥有一个0以上的字符
.*: 代表【0或多个任意字符】
{}:限定连续字符范围,grep -n ‘o{2}’ txt,找出两个连连续o的字符

sed工具:可用于直接修改、删除文本

shell脚本:

开头一行:#!/bin/bash,#!后面加上加载的shell的环境,说明下面程序是用哪种类型的shell来运行的

exit 0 :程序返回值为0
标准输入赋值:read -p " " XXX," "是标准输出,XXX是变量

判断式:
(1)test 指令
(2)利用判断符号 []
(3)if then fi
(4)case…esac

循环
(1)while[ ] … do…done
注意while的判断式里面只能是!=或者是==判断,而不能是>、<这种判断
(2)
for i in (seq 1 100) …do …done
for((i=1; i<=100;i++))

sh -x XX.sh :-x参数来进行脚本的debug

source XX.sh:让脚本在父进程中执行,若用普通的sh或者bash,系统是会新创建一个进程然后让脚本在此子进程执行

逻辑判断:

-eq //等于

-ne //不等于

-gt //大于 (greater )

-lt //小于 (less)

-ge //大于等于

-le //小于等于

命令的逻辑关系:

在linux 中 命令执行状态:0 为真,其他为假

逻辑与: &&
第一个条件为假时,第二条件不用再判断,最终结果已经有;
第一个条件为真时,第二条件必须得判断;
逻辑或: ||
逻辑非: !

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章