1.Shell介绍

Shell 和python都是弱语言
定义变量规则 :   变量名=值
shell定义变量的规则: 1.等号两边不能有空格2.定义特殊的变量需要用单引号或者双引号结合3.定义linux命令需要用反单引号4.区分单引号和双引号的不同和相同点Shell取值使用:echo $变量名

2.Shell脚本的规则

1:脚本名称使用.sh结尾

2:第一行必须写# !/bin/bash

3:输入语句用read

4:输出语句用:echo

5: 调用的时候
./脚本名.sh(权限的问题)

sh 脚本名.sh

小案例演示
1.我们来演示一下这个流程,我们可以现在我们的电脑桌面创建一个文件夹,然后在dos中进入文件夹,创建一个以.sh结尾的文件。

2.然后我们来编写一下文件,这里要注意我们运行文件事,会让你输入姓名密码,它是按照空格来进行划分的,你先输入姓名,输入一个空格,后面不管多长不管有没有空格,他都会按照密码给你显示,你们可以自己实验一下。


3.然后就是运行脚本的问题,有两个方法,像我上面用过的sh 脚本名.sh的这种方式比较方便,./脚本名.sh的这种方式需要权限,大家看以看看下图。



参数传递 :向.sh文件中传递数据
格式: sh 脚本名.sh 参数
1:接收第一个参数1:接收第一个参数~~1:接收第一个参数  n
$n:文件名称
$@:所有参数 s
$#参数个数 $0

3.比较运算符

比较运算符(数字)
-eq 比较是否相等
-ne 比较不相等
-gt 比较大于
-ge 比较大于等于
-lt 比较小于
-le 小于等于
字符串判断:== ,!=
逻辑运算符 -a与 -o或 !非
((i++)) ((i+=1))
s=((((((s+i))s=i)) s=i))s=[s+s+s+i] ((s=s+s+s+i))

If语句(分支结构)

格式:
if [ 条件 ]
then
语句
else
语句
fi
注意点:
1: if后面有空格, 2:条件两边有空格, 3:if条件里面存在变量,需要$,而且变量两边需要双引号, 4:fi是结束标识


Case循环语句
case规则
case $变量名 in
“值”)
语句;;
“值”)
语句;;

esac

注意:1:case这第一行以in结尾 2:值可以是字符串也可以是数字, 如果数字范围[0-9]
3:结束语句;; 4:esac结束标志

For循环

for 变量 in 列表
do
语句
done

试想列表中的元素过多的时候,需要怎么做?seq mix step max      注意:mix 开始数据    step:间隔   max 结束数据,如果step为1,可以省略注意1: 结束标志done

While循环

while [ 条件 ]
do
语句
done

注意:结束done
While后有空格, 参数之间也
注意

函数

定义格式
函数名(){代码 }
调用格式
函数名

注意点:必须先定义一个函数,然后再调用它

参数传递

函数中的参数
使用$n来接收数据

练习:输入任意两个整数进行求和运算,并打
印结果

返回值

Shell中函数中默认存在返回值
查看函数的返回值$?

注意点:
如果没有代码错误默认返回值为0,
有代码错误返回1
查看返回值内容:$?

mac下写shell脚本-脚本的介绍-规则-运算符的运用相关推荐

  1. linux下的shell和脚本

    1.各种Unix shell linux下的shell基本是从unix环境中的shell发展而来,贴一下wiki:其中我们常用的,可归类为Bourne Shell(/usr/bin/sh或/bin/s ...

  2. 宝塔任务,写shell执行脚本,真的很实用

    大家好!我是handsomecui,下面我为大家讲解一下shell脚本的写法,讲的不好的地方,欢迎大家留言拍砖.希望同仁们,支持下鄙人的小窝 http://www.aikannet.com 1.在li ...

  3. MAC下终极 Shell——ZSH

    本文已修改,原文地址:http://zhuanlan.zhihu.com/mactalk/19556676 在开始今天的 MacTalk 之前,先问两个问题吧: 1.相对于其他系统,Mac 的主要优势 ...

  4. Linux挖坑脚本,Windows环境下写Linux sh脚本的一次挖坑和填坑

    最近在研究Docker集群和安装的时候,需要准备若干台机器.所以我为节约时间,打算批量复制VM机器,然后用sh脚本命令执行机器名称和IP等基础配置信息的修改. 具体操作:我在windows环境下,用N ...

  5. mac 下周期调度命令或脚本

    crontab 是在linux服务器上部署定时任务的方法0 5 * * * /usr/bin/python /data/www/tools/mysql_backup.pycmd之前有5个项目要填,分别 ...

  6. Mac下使用可执行脚本记录远程服务器账号和密码

    安装工具 brew install expect brew install spawn-fcgi 编写可执行脚本 例如~/.wiwide_dev.sh #!/usr/bin/expect set us ...

  7. mac下如何运行sh脚本文件

    一.编辑一个 .sh 脚本文件 假设我的脚本文件名为 nice.sh 以下讲解如何运行 nice.sh 二.给shell脚本赋权限 有三种方法 # 方法一 chmod a+x nice.sh# 方法二 ...

  8. mac下直接运行python脚本

    新建a.py 文本文件, 写内容如下 : #!/usr/bin/env python #coding:utf-8print "hello" 注意, py文件的回车换行需要是unix ...

  9. mac下安装mongodb

    先去官网下载http://www.mongodb.org/downloads 建议下载64位的,32位的有一些限制,这个看书都会提到 我下载的是mongodb-osx-x86_64-2.0.3.tgz ...

最新文章

  1. ifndef/define/endif——主要目的是防止头文件的重复包含和编译
  2. 第24日:实施质量保证 和 组建项目团队
  3. spring-boot注解详解(六)
  4. Qt应用程序发布:Qt应用程序添加版本版权生产商等信息
  5. 为什么清华、北大、麻省理工硕博士,都要逐步推导机器学习算法?
  6. Ubuntu 环境变量文件介绍
  7. 图解 TCP IP 协议:三次握手、四次挥手
  8. 一建机电实务教材电子版_一建案例学不透?新版一建机电案例一本通,6大模板案例高清讲解...
  9. Linux内核空间内存申请函数kmalloc、kzalloc、vmalloc的区别【转】
  10. 南京师范大学汤国安教授《地理信息与人类生活》系列精品课程(5集全)
  11. 是否忘记了向源中添加 stdafx.h
  12. 1.语音增强技术概述
  13. 交互设计的职能:交互设计师具体做什么
  14. 机器人领域期刊会议汇总
  15. Stata:投资效率
  16. vue上传excel并展示_(一)vue导入上传excel功能
  17. 梦兴阁分析:信息流还有多久的红利期
  18. 说我菜?那好,我用Python制作电脑与手机游戏脚本来赢你
  19. RIASEC World-of-Work Map 职业测评
  20. Linux 笔试面试常见题目(整理)

热门文章

  1. 《Python全栈开发:Python 队列(queue)》
  2. 用计算机视频剪辑方面的术语,电脑端做视频剪辑哪个软件好用?
  3. 检查echo服务(TCP),quote服务(qotd)正在运行漏洞解决方案
  4. Photon:3-游戏场景
  5. 【我不熟悉的javascript】判断字符串数组内容是否相等的方法,不考虑顺序
  6. TongWeb部署应用包大小的限制
  7. 【转载】视觉中国的NoSQL之路:从MySQL到MongoDB
  8. 如何防治游戏内的“黑产”拉人?
  9. 都市粥店菜单价格表(HTML+CSS)
  10. 错误: 必须限制口令文件读取访问 jmxremote.password 有图示 文件访问权限问题配置