linux基础—课堂随笔_03 SHELL脚本编程基础
shell脚本编程基础
条件选择:if语句
选择执行:
注意:if语句可嵌套
单分支
if(开头)判断条件;then
条件为真的分支代码
fi(结尾)
双分支
if(开头)判断条件;then
条件为真的分支代码
else:其他
条件为假的分支代码
fi(结尾)
多分支
输入年龄显示相对应设置的shell脚本:
read -p "Please input yourage: " AGE
if [[ ! $AGE =~ ^[0-9]+$ ]];then
echo "$AGE is not a digit"
exit
elif [ $AGE -lt 18 ];then
echo "study hard"
elif [ $AGE -lt 60 ];then
echo "work hard"
elif [$AGE -lt 150 ]:then
echo "enjoy life"
else
echo "welcome to earth"
fi
条件判断:case语句
举个栗子:输入1-9,反馈(1、3、5)(2、4、6)(7、8、9) ,除此之外,如输入1-9以外的数字,则反馈other。
case$1 in
1|3|5)
echo 1,3,5
;;
2|4|6
echo 2,4,6
;;
7|8|9
echo 7,8,9
;;
*)
echo other
esac
编辑配置文件生效
修改profile和bashrc文件后需生效
两种方法:
1、重新启动shell进程
2、. 或者source
例:.~/. bashrc
$变量
echo $- :显示 himBH
h:hashall,打开此选项后,Shall会将命令所在的路径hash下来,避免每次都要查询。通过set +h将h选项关闭,set -h开启选项。
i:interactive-comments,包括
B 花括号扩展
H history 历史命令,H选项打开,可以展开历史列表中的命令,可以通过!感叹号来完成,例如“!!”返回最近的一个命令, “!n”返回第n个历史命令
脚本安全
set 命令
- -u 在扩展一个没有设置的变量时,显示错误信息
等同set –o nounset - -e 如果一个命令返回一个非0退出状态值(失败)就退出
等同set –o errexit
linux基础—课堂随笔_03 SHELL脚本编程基础的更多相关文章
- Linux思维导图之shell脚本编程基础、习题
思维导图百度云分享:链接:https://pan.baidu.com/s/1UMvudlv-xEG_pFtOPdCWhg密码:x6oa 路径: 外部命令脚本执行需在路下,cp到路径某个路径下或 ...
- Linux shell脚本编程基础之练习篇
shell脚本编程基础之练习篇. 1.编写一个脚本使我们在写一个脚本时自动生成”#!/bin/bash”这一行和注释信息. #!/bin/bash ] then echo "请输入一个参数& ...
- SHELL脚本编程基础知识
SHELL脚本编程基础知识 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Linux之父Linus有一句话很经典:"Talk is cheap, show me the ...
- shell脚本编程基础介绍
Linux系统——shell脚本编程基础介绍 1.什么是shell 它是一个命令解释器,在linux/unix操作系统的最外层,负责直接与用户对话,把用户的输入解释给操作系统,并处理各种操作输出的结果 ...
- 《Linux命令行与shell脚本编程大全 第3版》Shell脚本编程基础---57
以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:
- Linux Shell脚本编程-基础1
概述: shell脚本在Linux系统管理员的运维工作中非常重要.shell脚本能够帮助我们很方便的管理服务器,因为我们可以指定一个任务计划,定时的去执行某一个脚本以满足我们的需求.本篇将从编程基础 ...
- shell脚本编程基础
最近学习了shell脚本编程,感觉自己的脚本写的不太好,所以想把shell脚本相关的知识系统的整理一下,便于以后的学习和使用. 一.shell脚本基础 shell脚本是利用shell的功能 ...
- Linux Shell脚本编程基础(11)
实际上Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核,不仅如此,Shell有自己的编程语言用于对命令的编辑,它允许用户编写由shell命令组成的程序.Shel编程语言具有普通编程 ...
- Linux基础篇–shell脚本编程基础
本章内容概要 编程基础 脚本基本格式 变量 运算 条件测试 配置用户环境 7.1 编程基础程序:指令+数据程序编程风格: 过程式:以指令为中心,数据服务于指令 对象式:以数据为中心 ...
随机推荐
- 【POJ - 1950】Dessert(dfs)
-->Dessert Descriptions: 给你一个数N(3<=N<=15);每个数之间有三种运算符“‘+’,‘-’,‘.’”.输出和值等于零的所有的运算情况及次数num,如果 ...
- 字符串——kmp
目录 一.前言 二.思路 三.代码 一.前言 kmp算法是用于从文本串text的字串中,寻找含有的模板串pattern的数量/位置的算法. 例如,在文本串abcabcccabc中,模板串abc的数量有 ...
- Laravel从模型中图片的相对路径获取绝对路径
在模型product.php中增加以下方法.数据库图片字段为image.存储的图片相对路径 public function getImageUrlAttribute() { // 如果 image 字 ...
- u盘启动盘安装centos7.5操作系统
1.下载CentOS 7.5的安装镜像:CentOS-7-x86_64-DVD-1804.iso 2.下载UltraISO:https://cn.ultraiso.net/xiazai.html 3. ...
- Wordpress 所有 hook 钩子
muplugins_loaded 在必须使用的插件加载之后. registered_taxonomy 对于类别,post_tag 等 Registered_post_type 用于帖子,页面等 plu ...
- MySQL_bigint(20) 是什么意思?
MySQL_bigint(20) 是什么意思? MySQL的整型类型有这样几种: 类型 存储空间 M默认值(显示宽度) 数据大小(无符号:unsigned) 描述 1 tinyint(M) 1 t ...
- 19牛客暑期多校 round1 A 有关笛卡尔树的结论
题目传送门//res tp nowcoder 分析 定理:B1~B2当且仅当B1与B2有同构的笛卡尔树. (B₁~B₂ iff B₁ and B₂ have isomorphic Cartesian ...
- 基于licode搭建webrtc服务器
0. 前言 licode官网文档安装教程十分简单, 但是实际搭建过程是很艰辛的. 官方文档没有提示说会遇到什么样的问题, 实际过程中可能遇到各种各样的问题, 在解决的时候费时费力, 我就总结一下自己在 ...
- PAT B1046.猜拳
课本AC #include <cstdio> int main() { int n, failA = 0, failB = 0; scanf("%d", &n) ...
- Thinkphp5 自定义上传文件名
这几天在做tp5的上传文件模块,项目需求是要把文件名在上传之后修改为 用户名+原文件名的组合形式,在网上找了一会儿发现好像没有类似的文章...只好自己去研究研究了. 之前查看过看云上面的官方手册,文件 ...