1.从两个不同维度来划分,是否交互式,是否登录 2.交互式shell和非交互式shell 交互式模式:在终端上执行,shell等待你的输入,并且立即执行你提交的命令.这种模式被称作交互式是因为shell与用户进行交互.这种模式也是大多数用户非常熟悉的:登录.执行一些命令.退出.当你退出后,shell也终止了. 非交互式模式:以shell script(非交互)方式执行.在这种模式 下,shell不与你进行交互,而是读取存放在文件中的命令,并且执行它们.当它读到文件的结尾EOF,shell也就终止…
A chain no stronger than its weakest link. "一着不慎,满盘皆输" 参考资料:鸟哥的Linux私房菜 基础学习篇(第三版)  Linux Shell脚本攻略     Linux程序设计(第四版) 一.什么是shell script 1.什么是shell script 简单来说,shell script(程序化脚本)是利用shell功能所写的一个“程序”,它拥有自己的语法特性 2.为什么要学shell script 对于一个初学者来说,我觉得就那…
When you hoist the sails to cross the sea, you willride the wind and cleave the waves. "长风破浪会有时,直挂云帆济沧海" 参考资料:鸟哥的Linux私房菜 基础学习篇(第三版) 一.认识shell 1.什么是shell shell是一种“提供使用者界面”来实现用户与内核通信的软件(命令解释器) 2.为什么要学习shell ①命令行界面的shell在各大Linux发行版中都一样: ②远程管理时命令行界…
一.使用shell脚本 优点:脚本语言能够轻易处理文件与目录之间的对象,如把文件从所有目录拷贝到另一个目录 缺点:效率不如编译型语言 二.简单的脚本 1.查看现在系统有谁登录 $who 2.算出行数 $who | wc -l 3.   |  表示为管道符号可以再两个程序之间建立管道(pipeline) 下面的程序表示为:who的输出 ,成了wc的输入,wc所列出的结果就是已登录用户的个数 将程序的内容who | wc -l 变成一个独立的命令,输入一般文件 nusers中,设置执行权限,运行命令…
Shell脚本的静态检查工具shellcheck ubuntu下 apt install shellcheck ,即可安装shellcheck.写完shell脚本,记得用它检查一下,能给你点建议的.要检查现有项目的所有的脚本, find your_project_folder -name "*.sh" | xargs -i shellcheck {} 即可实现批量检查…
[Bash Shell] Shell学习笔记 http://www.cnblogs.com/maybe2030/p/5022595.html  阅读目录 编译型语言 解释型语言 5.1 作为可执行程序 5.2 作为解释器参数 6.1 定义变量 6.2 使用变量 6.3 重新定义变量 6.4 只读变量 6.5 删除变量 6.6 变量类型 命令行参数 ∗和∗和@ 的区别 退出状态 命令替换 变量替换 9.1 算术运算符 9.2 关系运算符 9.3 布尔运算符 9.4 字符串运算符 9.5 文件测试运…
1. Shell简介 Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的.Shell既是一种命令语言,又是一种程序设计语言.作为命令语言,它交互式地解释和执行用户输入的命令:作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支. 它虽然不是Unix/Linux系统内核的一部分,但它调用了系统核心的大部分功能来执行程序.建立文件并以并行的方式协调各个程序的运行.因此,对于用户来说,s…
菜鸟教程之学习Shell script笔记 以下内容是,学习菜鸟shell教程整理的笔记 菜鸟教程之shell教程:http://www.runoob.com/linux/linux-shell.html Shell简介 Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁.Shell 既是一种命令语言,又是一种程序设计语言. Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务. Shell脚本(shell script),是一…
1.shell脚本中函数使用 函数定义在前,调用在后,顺序反了就没有效果了.函数调用为:函数名 参数列表 函数内部通过以下变量访问函数的参数:shell脚本函数中: $0: 这个脚本的名字 $n: 这个脚本传入的参数值,n取1..9 $*: 这个脚本所有参数 $#: 这个脚本参数个数 $$: 这个脚本运行时的PID $!: 执行上一个背景指令的PID $?: 执行上一个指令的返回值 举例说:脚本名称叫test.sh 入参三个: 1 2 3运行test.sh 1 2 3后 $*为"1 2 3&qu…
shell学习笔记 .查看/etc/shells,看看有几个可用的Shell . 曾经用过的命令存在.bash_history中,但是~/.bash_history记录的是前一次登录前记录的所有指令,成功登出后,才存到 .bash_history中. .man bash查看bash说明文件. .echo $ .变量的设定中,单引号与双引号的不同:双引号仍然可以保留变量的内容,单引号内只能是一般字符,不会有特殊符号. .反单引号`符号:在一串指令中,在`之内的指令都会被先执行,而其执行出来的结果将…