Linux入门视频笔记二(Shell)
一、Shell脚本编程基础
1、简单地理解是脚本就是一堆的Linux命令或其他命令,把他们写到一起,打包成一个文件就是脚本,Shell脚本一般以.sh后缀结尾
2、sh text.sh:运行text.sh脚本
3、Linux支持变量,和c语言一样(但似乎不用声明类型),比如在脚本里写a = 10(这里为了看起来清除一点=两边加了空格,但实际上在shell脚本语言中这是错误的哦)。
4、echo:输出语句
①echo $a:输出变量a(赋值一个变量时不需要写$,使用或读取一个变量需要写)
②echo "Hello World":输出字符串(可以和上面的拼接在一起哦echo "Hello World" $a,并且在Linux里对于一个字符串拉说写不写双引号问题不大,echo Hello World这样也可以得到正常的输出)
5、expr:用来计算一个式子(+ - \* / )赋值的地方不能写空格,运算符两边必须写空格。
①c=`expr $a + $b`:计算a+b(记得要把这个式子括起来哦,如果+两边没有空格的话会显示a+b而不是他们的和)
②c=`expr $a \* $b`:计算a*b(因为在正则表达式中“*”被认为可以重复很多次,所以在Shell里面也会这么认为,所以前面要加转义符号“\”才能得到表示乘)
Linux脚本语言里括号也是要写转义符的\( \)。
6、if:条件判断语句
1 if[...]
2 then
3 ...
4 else
5 ...
6 fi
①输出a和b的较大者:
1 if [ $a -gt $b ]
2 then
3 echo $a
4 else
5 echo $b
6 fi
>:-gt(greater than)
<:-lt(less than)
>=:-ge(greater equal)
<=:-le(less equal)
==:-eq(equal)
!=:-ne(not equal)
7、for:循环语句
1 for x in ....
2 do
3 ...
4 done
注释用#
①输出1-10(早期):
1 for x in 1 2 3 4 5 6 7 8 10 #赋值不用$哦
2 do
3 echo $x
4 done
②输出1-10:
1 for x in {1 .. 10} #可能会不支持
2 do
3 echo $x
4 done
8、while:循环语句
1 while [ .. ]
2 do
3 ...
4 done
①输出1-10:
1 x=1
2 while [ $x -lt 10 ]
3 do
4 echo $x
5 x=`expr $x + 1`
6 done
二、字符串
1、定义:a=“hello”
1 #输出hello world
2 a=hello
3 b=world
4 echo $a $b
2、read a:输入a
3、比较两个字符串:通过一个"="比较是否相等,“!=”比较是否不等(和C一样)
1 password="123"
2
3 echo "Please enter a password:"
4 read userPassword
5
6 if [ userPassword = password]
7 then
8 echo "密码正确!"
9 else
10 echo “密码错误!”
11 fi
4、拼接字符串:str3="$s1 $s2"(中间不加空格的话两个字符串就拼在一起了)
5、判断是否是空字符串:if[ -z $s1](-z表示zero,即长度是否为0,-n表示非0)
三、数组(记得用bash运行)
1、定义:arr=(7 8 9 10)
2、输出8:${arr[1]}({}表示数组)
3、输出整个数组:
1 arr=(7 8 9 10)
2
3 for i in ${arr[@]}
4 do
5 echo $i
6 done
Linux入门视频笔记二(Shell)的更多相关文章
- Linux入门视频笔记三(常用工具集)
一.全局变量(Linux中的全局变量指在整个系统中都能用的变量) 1.USER:当前登录系统的用户的用户名 2.HOME:当前用户的主目录 cd $HOME 或 cd ~可以进入用户主目录 3.PAT ...
- Linux入门视频笔记一(基本命令)
一.简单命令 1.date:当前时间 2.cal:当前日期(日历格式) ①cal 2019:2019年全年日历 ②cal 1 2019:2019年1月份 二.Linux文件结构 1.根目录:root( ...
- Linux入门视频笔记四(vim入门)
一.vim的基本介绍(纯命令模式编辑器) 1.vim的两种模式:命令模式(不能输入任何东西).编辑模式(按i进入编辑模式) 2.ESC:从编辑模式退出到命令模式 3.保存: ①:wq code.c(如 ...
- Linux内核学习笔记二——进程
Linux内核学习笔记二——进程 一 进程与线程 进程就是处于执行期的程序,包含了独立地址空间,多个执行线程等资源. 线程是进程中活动的对象,每个线程都拥有独立的程序计数器.进程栈和一组进程寄存器 ...
- Linux入门视频
为了方便新手学习Linux,本人专门录制了以下Linux初级视频方便学习,本系列多媒体教程已完成的博文: 轻松学习Linux之入门篇 http://chenguang.blog.51cto.com/3 ...
- Linux入门篇(二)——文件
这一系列的Linux入门都是本人在<鸟哥的Linux私房菜>的基础上总结的基本内容,主要是记录下自己的学习过程,也方便大家简要的了解 Linux Distribution是Ubuntu而不 ...
- Linux 入门记录:二十、Linux 包管理工具 YUM
一.YUM(Yellowdog Updater, Modified) 1. YUM 简介 RPM 软件包形式管理软件虽然方便,但是需要手动解决软件包的依赖问题.很多时候安装一个软件首先需要安装 1 个 ...
- linux初级学习笔记二:linux操作系统及常用命令,文件的创建与删除和命名规则,命令行展开以及linux中部分目录的作用!(视频序号:02_3)
本节学习的命令:tree,mkdir,rmdir,touch,stat,rm 本节学习的技能:Linux中主要的目录作用以及特殊的目录文件: 文件的命名规则,命令行展开: 文件的创建与删除: Linu ...
- 一个.NET Core开发者的Linux入门学习笔记
用.NET Core开发也有一段时间了,但是由于工作原因一直都是在Windows系统上进行的开发,一直想学习Linux然后把.NET Core开发的程序跑在Linux上,然后把心得体会记录一下发布再博 ...
随机推荐
- vue-parent-child-lifecycle-order
vue-parent-child-lifecycle-order vue parent child lifecycle order live demo https://99kyx.csb.app/ h ...
- React 16.x Roadmap
React 16.x Roadmap https://reactjs.org/blog/2018/11/27/react-16-roadmap.html https://reactjs.org/blo ...
- SDK & 埋点 & user behavior tracker
SDK & 埋点 & user behavior tracker 同一个 SDK ,根据不同的应用市场, 分别进行统计分析 ? https://www.umeng.com/ user ...
- html tag filter in js
html tag filter in js const html = `可当天预订,必须21时15分之前下单,要求必须<font color=green><b>60</b ...
- ts 修改readonly参数
readonly name = "xxx"; updateValueAndValidity(): void { // this.name = 'a'; (this as { nam ...
- Flutter: Draggable和DragTarget 可拖动小部件
API class _MyHomeState extends State<MyHome> { List<Map<String, String>> _data1 = ...
- C++算法代码——扫雷游戏
题目来自:http://218.5.5.242:9018/JudgeOnline/problem.php?id=1685 题目描述 扫雷游戏是一款十分经典的单机小游戏. 在 n 行 m 列的雷区中有一 ...
- 【springboot读取配置文件】@ConfigurationProperties、@PropertySource和@Value
概念: @ConfigurationProperties : 是springboot的注解,用于把主配置文件中配置属性设置到对于的Bean属性上 @PropertySource :是spring的注解 ...
- 死磕以太坊源码分析之EVM固定长度数据类型表示
死磕以太坊源码分析之EVM固定长度数据类型表示 配合以下代码进行阅读:https://github.com/blockchainGuide/ 写文不易,给个小关注,有什么问题可以指出,便于大家交流学习 ...
- vmware-install.pl 如何安装?
首先在虚拟机上安装vnware-tools工具,如图(工具为vmware workstation): 成功 但是系统屏幕大小并没有适应虚拟机,所以下边这行提示很重要. 打开左侧边栏的VMware ...