缘起
20190314开始复习及学习吧;
张昊编著;
内容
目录 i(9/314)
全书11章
chap1 第1个Shell程序 1(13/334)
1.1、第一道菜
[echo.sh]
#!/bin/sh
cd /tmp
echo “hello world!”
(1)每一行代码是啥意思;(2)如何运行程序?
1.2、如何运行程序
1.2.1 选婿:位于第一行的#!
匹配解释器。
解释器路径可以用whereis bash查。
自删除脚本
#!/bin/rm
# 运行这个脚本时,什么也不会发生,只是删自已
WHATEVER=65
echo “This line will never print!”
exit $WHATEVER #脚本不会在这退出
1.2.2 找茬:程序执行的差异
source echo.sh时,改变了目录。
1.2.3 shell的命令种类
(1)内建命令
(2)shell函数
(3)外部命令
要知道source执行的差异,不会创建子进程,直接在父进程中执行。
1.3、Linux Shell的变量
1.3.1、变量
测试全局变量和局部变量的适用范围
#!/bin/sh
num=123
func1()
{
num=321
echo $num
}
Func2()
{
local num=456 #局部变量
echo $num
}
echo $num
func1
echo $num
func2
echo $num
1.3.2、用echo输出变量
echo 掌握各种转义字符
1.3.3、环境变量的相关操作
export命令
bash的启动文件/登出文件
/etc/profile
/etc/bashrc
$HOME/.bash_profile
$HOME/.bashrc
$HOME/.bash_logout
unset命令
env命令
1.3.4、shell中的一些常用环境变量
1.4、Linux Shell是解释型语言
1.4.1、编译型语言和解释型语言
1.4.2、Linux Shell编程的优势
1.5、小结
chap2 shell编程基础 15(27/334)
2.1、向脚本传递参数
2.1.1、Shell脚本的参数
Shell编程中的函数
testfunc()
{
echo “$# parameters”;
echo “$@”;
}
shell编程中参数引用
0,1,2…
*
@
#
$
!
?
–
在
2.1.2、参数的用途
[ps.sh]
#! /bin/sh
ps -eLf | grep $1
mv和mkdir命令
2.2、I/O重定向
2.2.1、标准输入、标准输出与标准错误
cat命令后面的主要参数
2.2.2、管道与重定向
>、<、>>、|
head命令
2.2.3、文件描述符
2.2.4、特殊文件的妙用
/dev/null
/dev/zero
/dev/tty
read命令,我基本没在命令中用过,最多编程中有用
2.3、基本文本检索
grep相关命令
2.4、Unix/Linux系统的设计与shell编程
2.4.1、一切皆文件
Linux文件的后缀名
Linux文件类型
ls命令
2.4.2、UNIX编程的基本原则
2.5、小结
chap3 编程的基本元素 39(51/334)
3.1、再识变量
收获
履历
20190314过了一遍chap1和2,还是有一些知识点不知道的。
shell中的参数引用就不熟。
发表回复