linux(七)__shell脚本编程
一、什么是shell脚本
shell除了是命令解释器之外还是一种编程语言,用shell编写的程序类似于DOS下的批处理程序。
它是用户与操作系统之间的一个接口。
shell脚本语言非常擅长处理文本类型的数据,由于linux中的配置文件都是文本文件,所以shell脚本语言
在管理linux系统中发挥了巨大的作用。
二、为什么学习shell script
- 自动化管理
- 监控管理
- 日志数据处理
- 自动数据备份
三、基本语法
一般文件以 #!/bin/bash开头,表示该文件使用的是bash语法,不设置也行,但这是一种规范。
shell脚本是以行为单位的。注释# 变量支持字符串变量和整型变量
vi 编辑shell脚本文件
调用方式:
sh script-file
可以加-x选项来查看这个脚本的执行过程,这样有利于调试。
./ script-file
用./方式执行shell脚本必须设置文件权限chmod +x filename 成可执行文件
.bin文件就要用./调用
shell变量
name=string
name变量 string被赋的值 两边不能有空格,会视为一个命令
例:
v=centos
echo=$v ($标示一个变量)
date命令:
date

date +%H:%M:%S

shell表达式:
简单四则运算:
b=$((5*5+5-3/2))
echo $b
29
在linux shell中,我们可以使用 $(()) 将表达式放在括号中,即可达到运算的功能。
或者用$[]也可以。
字符串的处理

和用户交互:
read命令
p是prompt的缩写,即由这个开关项给出提示信息,例如
read -p 'please input you choice:\n' choice
回车后屏幕会显示:
please input you choice:
那么之后你输入的东西就会被保存到choice变量中了
判断:
test判断

例:
filename=/home/hello.java
test -f $filename && echo 'exit' || echo 'not exit'
[]判断

尤其是注意第一条,变量常数与符号之间都要有空格。
判断

例:
if [ -f $filename ];then
echo 'the file is exist'
fi
linux(七)__shell脚本编程的更多相关文章
- 【Linux】Shell脚本编程(一)
Linux shell脚本编程: 守护进程,服务进程:启动?开机时自动启动: 交互式进程:shell应用程序 广义:GUI,CLI GUI: CLI: 词法分析:命令,选项,参数 内建命令: 外部命令 ...
- Linux 利器- Python 脚本编程入门(一)
导读 众所周知,系统管理员需要精通一门脚本语言,而且招聘机构列出的职位需求上也会这么写.大多数人会认为 Bash (或者其他的 shell 语言)用起来很方便,但一些强大的语言(比如 Python)会 ...
- [Linux系统] (4)脚本编程
一.bash shell 可以理解为一种解释器和启动器,解释命令文本,并执行命令. 命令来源: 用户交互输入 文本文件输入 1.示例,写一个最简单的文本 vi test.txt 写入以下内容: ech ...
- 【Linux】Shell脚本编程(三)
流程控制: 循环语句:for,while,until while循环: while CONDITION; do 循环体 done 进入条件:当CONDITION为“真”: 退出条件:当CONDITIO ...
- Linux系统Shell脚本编程
1. shell脚本概念:C语言编写的.命令解释器.编程语言. 是用户使用linux的桥梁. shell脚本语言非常擅长处理文本类型的数据. 2. shell脚本作用:自动化管理.监控管理.日志数据处 ...
- 【Linux】Shell脚本编程(二)
练习:求100以内所有偶数之和; 使用至少三种方法实现; 示例1: #!/bin/bash # declare -i sum=0 #声明一个变量求和,初始值为0 for i in $(seq 0 2 ...
- shell脚本编程基础介绍
Linux系统——shell脚本编程基础介绍 1.什么是shell 它是一个命令解释器,在linux/unix操作系统的最外层,负责直接与用户对话,把用户的输入解释给操作系统,并处理各种操作输出的结果 ...
- Linux shell脚本编程(三)
Linux shell脚本编程 流程控制: 循环语句:for,while,until while循环: while CONDITION; do 循环体 done 进入条件:当CONDITION为“真” ...
- Linux shell脚本编程(二)
Linux shell脚本编程(二) 练习:求100以内所有偶数之和; 使用至少三种方法实现; 示例1: #!/bin/bash # declare -i sum=0 #声明一个变量求和,初始值为0 ...
随机推荐
- Android Weekly Notes Issue #235
Android Weekly Issue #235 December 11th, 2016 Android Weekly Issue #235 本期内容包括: 开发一个自定义View并发布为开源库的完 ...
- SQL Server 批量删除存储过程
原理很简单的'drop proc xxx'即可,下面有提供了两种方式来删除存储过程,其实本质是相同的,方法一是生成删除的sql后直接执行了,方法二会生成SQL,但需要检查后执行,个人推荐第二种做法. ...
- .JavaWeb文件上传和FileUpload组件使用
.JavaWeb文件上传 1.自定义上传 文件上传时的表单设计要符合文件提交的方式: 1.提交方式:post 2.表单中有文件上传的表单项:<input type="file" ...
- SQL开发技巧(二)
本系列文章旨在收集在开发过程中遇到的一些常用的SQL语句,然后整理归档,本系列文章基于SQLServer系列,且版本为SQLServer2005及以上-- 文章系列目录 SQL开发技巧(一) SQL开 ...
- 增强版字典DictionaryEx
代码 public class DictionaryEx<TKey, TValue> : IDictionary<TKey, TValue> { /// <summary ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(33)-MVC 表单验证
系列目录 注:本节阅读需要有MVC 自定义验证的基础,否则比较吃力 一直以来表单的验证都是不可或缺的,微软的东西还是做得比较人性化的,从webform到MVC,都做到了双向验证 单单的用js实现的前端 ...
- JavaScript事件概览
JavaScript事件 JavaScript是单线程,在同一个时间点,不可能同时运行两个"控制线程". 事件句柄和事件对象 1.注册事件句柄 标准和非标准 var button= ...
- 开始学nodejs —— 调试篇
新学习一种技术,肯定会遇到很多坑,我们需要找到这些坑,弄清楚这些坑出现的原因和其中的原理.这种操作就叫做调试. 程序调试的方法和工具多种多样,在这里我总结一下我在学习nodejs的过程中,学到的和用到 ...
- scikit-learn 梯度提升树(GBDT)调参小结
在梯度提升树(GBDT)原理小结中,我们对GBDT的原理做了总结,本文我们就从scikit-learn里GBDT的类库使用方法作一个总结,主要会关注调参中的一些要点. 1. scikit-learn ...
- jQuery的DOM操作实例(2)——拖拽效果&&拓展插件
一.原生JavaScript编写拖拽效果 二.jQuery编写的拖拽效果 三.在jQuery中拓展一个拖拽插件