使用的环境是
fedora 18
由于是初学者有错误无法及时发现,欢迎指正.
内容很简单
就是基本的变量的使用 基本的语句和函数的基本创建使用
2013/09/15
shell-->命令解析器 将用户输入的指令转换成相应的机器能够运行的程序
shell脚本
shell的第一行是(不过在fedora下测试..不加也没关系)
#!/bin/sh
#! 指定脚本文件的解析程序
增加运行
chmod +x filename [cc@localhost shell_dir]$ ls /bin/sh -l lrwxrwxrwx. 1 root root 4 1月 10 2013 /bin/sh -> bash
以#表示注释
变量:
不需要声明
a="hello world" #输出a echo "A is:" echo $a
赋值不要$号 但要引用的时候需要加$
在字符串中使用时用{}括起来
echo "this is the ${a}nd"
默认变量:
- $#:传入脚本的命令行参数个数
- $*:传入的所有参数 中间用空格相隔
- $1:第一个命令行参数
- $2:第二个命令行参数
2013/09/16
局部变量:
在shell中 变量首次被赋值时加上local关键字可以声明一个局部变量
hello="var1" echo $hello function func1(){ #与全局冲突时使用local(不过最好都写吧 避免混淆) local hello="var2" echo $hello } func1 echo $hello
输出:
var1
var2
var1
变量赋值:
=(赋值号)左右两边不能有空格
BASH语句不需要分号
If语句:
if [ expression ]
then
#code block
fi
if [ expression ]
then
#code block
else
#code block
fi
a=1 b=1 if [ $a = $b ] #注意在[]和=留空 then echo "${a}=${b}" fi
以下都要在其左右留空格
比较操作 整数 字符串
相同 -eq =
不同 -ne !=
大于 -gt >
小于 -lt <
大于等于 -ge
小于等于 -le
为空 -Z
不为空 -n
-e 判断文件是否存在
-f 文件是普通文件
-s 文件大小不为零
-d 文件是一个目录
-r 文件对当前用户可以读取
-w 文件对当前用户可以写入
-x 文件对当前用户可以执行
用[ ]表示判断
例子:
folder=/cc [ -r "${folder}" ] && echo "${folder} 可读" #&&表示前面是真的就后面就运行 [ -f "${folder}" ] || echo "${folder}不是文件" #||表示哦前面的不是真就执行后面的
以上这两个其实就是短路操作 &&是短路与 当前面的是假的后面的就不用运行了
||是短路或 当前面的是真的后面的不用运行了
for语句:
for var in [list]
do
#code block
done
例子:
for day in Sun Mon Tue Wed Thu Fri Sat do echo $day done
while循环:
while [ condition ]
do
#code block
done
例子:
read count echo "cout=${count}" a=1 add=0 while [ $a -le $count ] do add=`expr ${add} + ${a}` a=$(($a+1)) done echo "add=${add}"
注意了 要进行数学运行 要用`expr 1 + 1`(注意+左右的空格) 或者使用$((算数表达式)) 这样+左右没必要留空
util循环:
util [ condition ]
do
#code block
done
和while循环相反 condition为假时执行
Case语句:
case "$var" in #var可以是字符串 整数等等 限制比较小
condition1 )
;;
condition2 )
;;
* ) statments;;
esac #和case相反的写法
例子:
echo 输入一个字符 read key case "$key" in [A-Z] ) echo "输入的是大写字母";; [a-z] ) echo "输入的是小写字母";; [0-9] ) echo "输入的是数字";; * ) echo "输入的是其他字符";; esac
函数:
要先定义 再被调用
bash中创建一个函数:
fname(){
}
或者
function fname(){
}
使用函数时:
fname param1 param2 param3 ... 在函数内部视为位置参数处理
没参数 就直接用 fname
例子如下:
echo_all(){ for i #i读取参数列表的第一个 do echo "$i" shift #左移操作 以下的参数 左移一位则1被消去 但实际中发现这句即使不写也可以 done } echo_all 1 2 3 4 5 6 7 8 9 10
以上输出
1
2
3
4
5
6
7
8
9
10
还有种方式:
echo_all(){ for i in $* do echo "$i" done } echo_all 1 2 3 4 5 6 7 8 9 10
相关推荐
Linux是开源的操作系统,它的命令行界面,尤其是Shell编程...因此,无论你是技术小白还是希望进一步提升,这份“Linux零基础学习笔记 Shell编程-菜鸟入门”都会是你宝贵的资源。祝你在学习的道路上越走越远,不断进步!
描述:这是一份综合的Linux Shell编程笔记,适用于想要学习或加强对Linux操作系统下Shell脚本编程的理解的人。该笔记包含了Shell脚本的基础知识、常用命令和技巧,以及实际的编程示例和案例。无论您是初学者还是有...
要介绍了shell的相关知识教程,如shell编程需要的基础知识储备、shell脚本概念介绍及第一个脚本案例、shell脚本基础知识-作用地位-比其他语言优势、建立一个规范的shell脚本、执行shell脚本的多种方法及重要区别精讲...
《LINUX与UNIX SHELL编程指南》是一本深入探讨Linux和UNIX系统中Shell脚本编程技术的书籍。这本书旨在帮助读者理解和掌握Shell编程的核心概念,从而能够编写出高效、实用的自动化脚本,提高日常系统管理和任务执行的...
awk基础入门(4) ...Linux的shell编程(一) Linux的shell编程(二) Linux的shell编程(三) Linux的shell编程(四) Shell学习笔记 一 Shell学习笔记 二 Shell学习笔记 三 Shell学习笔记 四 Shell学习笔记 五
Linux与Unix Shell编程指南读书笔记提供了深入理解和熟练掌握Shell脚本编写技巧的宝贵资源。Shell是Linux和Unix操作系统中的命令解释器,它不仅用于交互式地执行命令,还能编写自动化任务的脚本,极大地提高了系统...
这份学习笔记将深入探讨Shell编程的基础,包括文件权限与安全,这是理解Linux和Unix系统管理的关键。 首先,我们关注文件权限。在Linux和Unix中,每个文件和目录都有三个基本的权限:读(r)、写(w)和执行(x)。...
Linux Shell 脚本学习笔记是学习 Linux Shell 编程的重要资源,本笔记涵盖了 Linux Shell 编程的基础知识和高级技术,涵盖了命令提示符、变量、重定向、管道、环境变量、数学计算、退出脚本、结构化命令等多个方面。...
自己看完了linux入门到精通的笔记整理,还有一些linux大部分所有常用的命令笔记,可以值得看看!
### Shell Script 编程学习笔记 #### 一、Shell 脚本初窥 ##### 示例: ```bash #!/bin/sh # 第1行:指定脚本解释器(声明使用的shell名称),这里是用/bin/sh做解释器的。“#!”是一个约定的标记 cd ~ # 第2行:...
Linux服务器Shell编程是IT行业中非常基础且重要的技能,尤其对于系统管理员和自动化工程师而言。Shell脚本编程允许用户创建自定义的命令行工具,实现自动化任务处理,提高工作效率。在这个学习笔记中,我们将深入...
### 《LINUX与UNIX SHELL编程指南》读书笔记知识点解析 #### 一、文件的安全与权限 在《LINUX与UNIX SHELL编程指南》这本书中,作者详细介绍了Linux及Unix系统中关于文件的安全性和权限管理的核心概念。这部分内容...
根据提供的文件信息,我们可以从中提炼出一系列与Linux...理解这些基础知识对于进行有效的文件管理和Shell脚本编程至关重要。此外,作者张启峰还提供了具体的示例代码和实践案例,有助于读者更好地理解和应用所学知识。
总的来说,这份“Linux Shell个人学习笔记”涵盖了从基础命令到高级脚本编程的广泛内容,适合想要提升Linux操作技能或准备系统管理员考试的读者。通过深入学习和实践,你可以成为一个熟练的Linux用户,甚至成为一名...
### 学习笔记-基础Shell编程 #### 一、Shell编程概述 Shell编程是指利用Shell命令语言编写脚本来实现特定功能的过程。Shell不仅是Linux操作系统下的命令行解释器,还是一种强大的脚本语言,广泛应用于自动化任务...
这篇“自学习,Linux命令行与Shell脚本编程笔记”旨在帮助初学者掌握这两个核心技能。 首先,Linux命令行是操作系统与用户交互的主要方式之一,通过输入简单的指令,用户可以执行各种任务,如文件管理、系统监控、...
"Unix Shell编程第三版笔记"是铁道出版社出版的一本教材,它深入浅出地讲解了Unix Shell编程的基础和高级技巧。这份笔记涵盖了从基本的命令行操作到复杂的脚本编写,帮助学习者掌握这一强大的自动化工具。 Unix ...
Linux运维学习笔记:Shell脚本书写规范 Shell脚本是Linux系统中一种极为重要的工具,它能够帮助用户执行批量的命令操作,自动化日常运维任务。编写规范、易于理解的Shell脚本不仅有助于提高工作效率,而且方便日后...
1. **Shell基础**:包括Shell的启动、基本命令行操作、文件和目录管理、环境变量设置等。 2. **Shell语法**:涉及命令行参数、条件表达式、循环结构(如for、while)、函数定义以及流程控制(如if-else、case)。 ...