注释:被包含在【】内的命令是实际在终端中输入的命令,所有操作都在root权限下,被包含在〖〗中的不是命令,而是一种格式说明,语法说明。
Start:
shell编程:
Shell(壳)是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。它接收用户命令,然后调用相应的应用程序。同时它又是一种程序设计语言,shell是脚本语言。
这里主要讲bash,shell有许多种,bash是shell的一种,是linux上指定的shell的标准脚本。shell语法更倾向于C语言。
【sh temp】执行temp文件里面的脚本
【./temp】执行temp文件里面的脚本
【echo $var】☞使用echo命令取出变量名为var的值
【s=4】☞给变量赋值,等号=两边不得有空格。
【s=‘4’】☞给变量赋值,等号=两边不得有空格。
【s=“4”】☞给变量赋值,等号=两边不得有空格。
【s=$var】☞给变量赋值,等号=两边不得有空格,var是一个变量名。
【s=“Mike Ron”】☞给变量赋值,值里面有空格符必须用双引号或单引号括起来,等号=两边不得有空格。
【s=‘Mike Ron’】☞给变量赋值,值里面有空格符必须用双引号或单引号括起来,等号=两边不得有空格。
【ABC=‘$s Junior’】☞ABC的值为$s Junior。
【ABC="$s Junio"】☞ABC的值为Mike Ron Junior。
【unset var】☞删除变量
Shell解释执行用户命令时,将命令行的第一个部分当做命令名,其它剩余部分作为参数。由出现在命令行上的位置确定的参数称为位置参数。
【$*】☞这个程序的所有参数
【$#】☞这个程序的位置参数个数,不包含$0,即执行文件本身,因为$0就是命令中的文件名本身。
【$$】☞这个程序的PID
【$!】☞执行上一个后台命令的PID
【$?】☞执行上一个命令的返回值
【read var】☞从键盘读入数据,放到变量var中。
【read var1 var2 var3 】☞从键盘读入数据时,用空格符分别输入三个值,如这样输入” value1 value2 value3 ”
【var=`expr $var1 + $var2 + $var3` 】☞expr的使用,这条命令是把变量var1和var2及var3的值相加之后赋给var,注意在加好的两旁要有空格,否则会出错,·这个点不是单引号,它是键盘上Tab键上的·,也就是数字1的左边的哪一个键。
【echo `expr 5 \* 6`】☞在使用乘号时,一定要在*前加一个反斜杠\。
(())双括号可以进行算术运算(推荐使用)。
【var=$((var1+var2))】☞双括号(())的用法,双括号可以进行算数运算,var1前可以加$或不加,把变量var1和var2的值相加,然后赋给var,这种方法较常用。
变量测试语句,test语句,可以测试整形、字符串和文件。
【test -f $1】☞判断$1是否是一个文件,如果是就返回true,否则返回false。
【test -d $1】☞判断$1是否是一个目录,如果是就返回true,否则返回false。
【test str1 = str2】☞判断str1是否等于str2,注意等号两边要有空格,建议不用这种方法,而是用下面的方法。
【test str1==str2】☞判断str1是否等于str2,使用这个更好。
【test str1!=str2】☞判断str1不等于str2,如果是不等于就返回true,否则返回false。
【test str1】☞测试字符串是否不为空,如果str1不空返回true,否则返回false。
【test -n str1】☞测试字符串是否不为空,同上一条命令。
【test -z str1】☞测试字符串是否为空,如果str1为空则返回true。
【test $int1 -eq $int2】☞测试整数int1是否等于整数int2
【test $int1 -ge $int2】☞测试整数int1是否大于等于整数int2
【test $int1 -gt $int2】☞测试int1是否大于int2
【test $int1 -le $int2】☞测试int1是否小于等于int2
【test $int1 -lt $int2】☞测试int1是否小于int2
【test $int1 -ne $int2】☞测试int1是否是不等于int2
【test -d $d1】☞测试d1是否为目录
【test -f $f1】☞测试f1是否是一个常规为文件
【test -x $f1】☞测试f1是否是一个可执行文件
【test -r $f1】☞测试f1是否是一个可读文件。
【test -w $f1】☞测试f1是否是一个可写文件。
【test -a f1】☞测试文件f1是否存在
【test -s f1】☞测试文件f1的大小是否非0。
测试语句还可以是[测试表达式]和[[测试表达式]],两者的区别是后者可以进行通配符的匹配。
【 [ $# -ne 2 ]】☞判断位置参数是否等于2,注意左中括号[的右边要有空格,右中括号]的左边要有空格,与-ne想类似的运算符都可以用。
【[[ $var1 <= $var2 ]]】☞同样,第一个$前要有一个空格,var2后面要有一个空格,与<=类似的运算符都可以用。
【read -p “Input your choice :”choice】☞运行脚本后从键盘读入数据,存入choice中,双引号中的字符和准备读入的数据是放在同一行显示
【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】
〖#!〗☞指定执行脚本的shell
〖#〗☞注释行
〖exit语句〗☞退出程序,并返回一个值,返回0表示正常退出,返回非0表示异常退出如exit 0。
〖if....then....fi 〗☞嵌套语句,可以使用简写elif来表示else if。
〖for....done〗☞具体是这样:for 变量 in 变量值表列 do 命令表列 done。把变量值表列中的值一个一个的取出来,然后分别进行命令表列里面的操作。
〖case....esac〗☞具体是case 变量值 in 字符串1) 命令表列;;.....字符串2)命令表列n;;esac
〖while语句〗☞具体是while 条件 do 命令 done,当条件为true时,就执行一次命令,执行完一次命令后接着去判断条件,如此循环。
〖until语句〗☞具体是until 条件 do 命令 done ,until类似于while,唯一不同的是while是当条件为true时执行命令,为false时跳出循环,而until则刚好相反,当条件为false时才执行命令,当条件为true时就跳出循环。
〖continue和break〗☞类同C语言。
〖shift指令〗☞整个位置参数左移,每执行一次,位置参数个数$#减一,即去掉最左边的那个参数,去掉的参数不可恢复。
〖-a〗☞逻辑与,同常理。
〖-o〗☞逻辑或,同常理。
〖function函数〗☞格式是:函数定义 function 函数名(){命令序列} 函数调用 函数名 参数1 参数2 ... 。 函数调用的时候不要加(),在函数里面调用参数是使用$1 $2来进行调用,与shell script脚本的程序位置参数调用一样。函数中的变量不是局部变量,而是全局变量,函数中没有局部变量,都是全局变量。
〖〗〖〗
执行脚本时要修改权限,让该文件的权限改为可执行文件。
bash中有两种变量,一中是临时变量,另一种是永久变量
自定义变量由字母和下划线开头,字母、数字和下划线组成。长度无限制,大小写敏感。习惯是大写构造变量,
$是取出变量值的关键字
〖〗〖〗〖〗〖〗〖〗〖〗〖〗〖〗〖〗〖〗〖〗〖〗〖〗〖〗〖〗〖〗〖〗〖〗〖〗〖〗〖〗〖〗〖〗〖〗〖〗〖〗〖〗〖〗〖〗〖〗〖〗〖〗〖〗〖〗〖〗〖〗〖〗〖〗〖〗〖〗〖〗〖〗〖〗〖〗〖〗〖〗〖〗〖〗〖〗〖〗〖〗〖〗〖〗〖〗〖〗〖〗〖〗〖〗〖〗
【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】
相关推荐
01-第一天知识点回顾 .mp4 02查看文件内容命令 mp4 03软链接 mp4 04硬连接 .mp4 05文本搜索命令, 06-查找文件命令, mp4 07-压缩和解压缩命令, mp4 08文件权限命令 mp4 09获取管理权限的相关命令, mp4 10用户相关...
这是个人10年前的Linux Ubuntu学习笔记,之后查笔记时,都会补充新知识,也有纠错,涵盖了10个PDF文件,由有道笔记导出,非常适合初学者。这些PDF文件包含了丰富的知识和实用技巧,能够帮助您更好地掌握Linux Ubuntu...
知识点1: Linux系统监控 相关命令:iostat/free/top/dstat/iotop 知识点2: Linux自化运维 实战项目: 使用Docker自动部署zabbix运维系统,实时监控服务器性能 第四阶段 Linux系统构建 第九讲 Linux系统构建 知识...
01- 第一天知识点回顾.ev4 01- 第一天知识点回顾.ev4 02-查看文件内容命令.ev4 02-查看文件内容命令.ev4 03-软链接.ev4 04-硬连接.ev4 04-硬连接.ev4 05-文本搜索命令.ev4 06-查找文件命令.ev4 06-查找文件命令.ev4 ...
本项实验综合了MYSQL与Linux程序开发、多模块软件编译与链接过程等章节的知识点。根据实验指导书的要求和步骤,完成相应的程序开发及多模块软件编译与链接过程,并在Linux环境下,完成程序开发及软件剖析。 一、...
初次运用Ubuntu虚拟机,其中的Linux系统是不同于windows系统,在VMare Workstation上操作命令全部是用键盘敲入命令,而不是用鼠标,这一点非常有趣。刚开 始的时候会觉得纯键盘输入比较麻烦,即使是进入上一个...
知识简介 概念 linux的文件系统可以理解为:由文件和目录组成的树结构。文件系统的最顶层是由根目录开始的,系统使用“/”来表示根目录,在根目录之下的既可以是目录,也可以是文件,而每一个目录中又可以包含(子)...
进入ssh 输入以下命令重置密码(把命令最后面的 “testpasswd” 替换成你要改的新密码) 注: 若是debian/ubuntu用户,请使用有root权限的... 以上就是本次介绍的全部知识点内容感谢大家的学习。 您可能感兴趣的文
Shell 既是一种命令语言,又是一种程序...Shell 经常使用在 Linux 等操作系统中,本教程非常适合开发人员了解 Shell 语言的关键点。 学习前提 如果你首次接触 Shell,那么建议你学习一些 shell 脚本有关的基础知识。
在这个项目中,您可以学习有关如何在Linux机器上最佳设置C ++的基础知识。 在示例中,我将截图并在Ubuntu 20.11的虚拟机上执行。 我将尽力解释和详细说明我所采取的每个步骤,并且我将在此自述文件中编写说明/教程...
方法以及要求:设置过程中需要看客具备一点ubuntu的基本知识,当然不懂也没有关系,跟着一步一步走,不懂得可以学习一下ubuntu的文件系统。 具体步骤 1.首先创建一个文件:~/.pythonrc 在ubuntu中创建文件的命令为:...
• Linux (tested on Linux Ubuntu Dapper Drake) Supported Supported Supported Supported Development Development Development Development Environments Environments Environments Environments Eclipse IDE o...
在ubuntu linux中,程序使用build-essential环境编译,需要下载gfortran。 f2c是一个开源的fortran到c的转换软件,如果不想混合编程的话,可以用它。 ============================================= 这是1976年...
在ubuntu linux中,程序使用build-essential环境编译,需要下载gfortran。 f2c是一个开源的fortran到c的转换软件,如果不想混合编程的话,可以用它。 ============================================= 这是1976年...
在ubuntu linux中,程序使用build-essential环境编译,需要下载gfortran。 f2c是一个开源的fortran到c的转换软件,如果不想混合编程的话,可以用它。 ============================================= 这是1976年...
在ubuntu linux中,程序使用build-essential环境编译,需要下载gfortran。 f2c是一个开源的fortran到c的转换软件,如果不想混合编程的话,可以用它。 ============================================= 这是1976年...
候不点enterBtn,而是直接关闭对话框,那么此时整个程序应该结束执行,但 是事实是这样的吗?如果你此时对程序进行了改动,再次按下run 按钮,你会发 现又出现了error: collect2: ld returned 1 exit status 的错误...