Shell
2021/12/8 7:17:42
本文主要是介绍Shell,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Shell
代码规范;
#!/bin/bash 【指定告知系统当前这个脚本要使用的shell解释器】
文件命名规范:
文件名.sh .sh是liunx下bash shell的默认后缀
注意:;这里在运行时一定要写成./hello.sh,而不是 hello.sh,运行其他二进制程序也一样,直接写hello.sh,linux系统会去PATH(环境变量)里寻找有没有叫hello.sh的,而在这个环境变量中并没有内置这个变量,那么就会告诉你没有这个命令,要用 ./hello.sh告诉系统,就在当前目录找
Shell脚本分为简单的写法(简单命令的堆积)和复杂的写法(程序的设计)
变量
变量是shell中不可或缺的一部分,也是最基础,最重要的组成部分
变量,先定义后使用
变量名的规范
注意,变量名后面的等号左右不能有空格,这可能和你熟悉的所有编程语言都不一样,同时变量名的命名须遵循如下规则:
命名只能使用英文字母,数字和下划线,首个字符不能以数字开头
中间不能有空格,可以使用下划线“_”
不能使用标点符号
不能使用bash里面的关键字(可用help命令查看保留关键字)
在使用变量的时候一定需要在变量名前面添加一个$符号,该要求在其他语言也存在(例如php)
关于单双引号的问题
双引号能够识别变量,双引号能够实现转义
单引号是不能识别变量,只会原样输出,单引号是不能转义的
但是在这个案例中如果在使用双引号就不行,得用一个反引号,而这个反引号在键盘上的(esc键下面的那个键)
接收用户输入
利用脚本创建一个文件
语法:read -p 提示信息 变量名
条件判断
这个两个语法的区别就是多了一个else,换成人话就是
第一个语法
如果if里面的条件(condition)成立,那么(then)就执行command1,command2
单行写法也比较好理解,这种方式通常直接用在命令行中:条件要用中括号包起来并且在每一句结束之后要加一个分号,用来表示这条语句结束了
语法2:
就是在语法1 的基础上,多了一个else,而else的意思是“否则”,那么就是如果if不成立的话就执行else里面的语句,写完了要用fi
If结束就是fi,就是把单词反过来
而语法3就是多加了几个条件
如果条件1不成立,在看条件2,如果条件2不成立,就执行else,但是如果条件2成立,那么就执行条件2,而不执行条件1
注意:条件表达式要放到方括号中间,并且要有空格,例如:【$a==$b】是错误的,必须写成【 $a == $b 】
例子
#!/bin/bash
a=10
b=20
echo "a=$a"
echo "b=$b"
echo "a + b = " `expr $a + $b`
注意最后一行是有反引号的
注意这里乘法的话,要加一个转义符,也就是一个反斜杠,因为通配符也同样是星号,所以要加一个反斜杠用以区别
但是前面那个echo里面就不需要改了,因为本来就是原样输出
一条一条的写太麻烦了,就可以用yy进行复制,p来粘贴,删除是dd
关系运算符
逻辑运算符
字符运算符
文件运算符
语法
附带选项
这篇关于Shell的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-01Java部署教程:新手入门指南
- 2024-11-01Java部署教程:从入门到实践
- 2024-11-01Java订单系统教程:新手入门指南
- 2024-11-01Java分布式教程:新手入门指南
- 2024-11-01Java管理系统教程:新手入门详解
- 2024-11-01Java监控系统教程:从入门到实践
- 2024-11-01SpringCloud Alibaba入门:轻松搭建微服务架构
- 2024-11-01Swagger入门:新手必读指南
- 2024-11-01Swagger入门:轻松搭建API文档
- 2024-11-01uni-APP入门:新手快速上手指南