Linux shell脚本学习(一)
一、shell脚本简介
shell脚本是用shell脚本语法将shell命令组织起来形成的文件形式。Shell脚本与Windows/Dos 下的批处理相似,主要为了将大量命令通过一个纯文本文件一次执行完,以方便管理员进行效的管理和设置。但是它比Windows下的批处理更强大,毕竟它使用的Linux/Unix下的命令。
shell脚本本质上是将一系列的Linux命令放在一个文件中,执行这个shell脚本就相当于直接执行这些Linux命令的集合。
#!/bin/bash date #显日期命令
who #显示当前的登陆用户
pwd #显示当前的工作目录
文件的第1行是“#!/bin/bash”,“#!”符号是shell脚本的起始符号,它指定一个文件类型的特殊标记,告诉linux系统这个文件执行需要解释器bash,也可以是sh。文件的后面就是按顺序写入的需要执行的三条命令,每条命令后面有一段以“#”符号起始的中文,该符号是注释符,注释掉该行后面的语句,注释能增加Shell脚本的可读性,便于人们理解该脚本。
二、shell变量
shell变量用于保存有用信息,如路径名、文件名、数字等。变量可分为:本地变量、环境变量和位置参数。本地变量是仅可以在用户当前Shell生命期的脚本中使用的变量,本地变量随着Shell进程的消亡而无效,本地变量在新启动的Shell中依旧无效,它类似与C、C++等语言中局部变量的概念。环境变量则适用于所有由登录进程所产生的子进程。位置参数也属于变量,它用于向Shell脚本传递参数,是只读的。
(未完待续)
Linux shell脚本学习(一)的更多相关文章
- linux shell脚本学习笔记一
一.文件比较运算符-e filename 如果 filename存在,则为真 [ -e /var/log/syslog ]-d filename 如果 filename为目录,则为真 [ -d /tm ...
- Linux Shell 脚本学习第一天: 使用grep 命令,lsusb, ps -ef, 实现树莓派(Debian OS)时检测到依赖的USB设备启动后,启动终端自动执行shell脚本
1.应用背景: 无人监测的设备,常需要设置应用程序开机启动,程序启动前需要保证调用的设备先启动,运行环境先启动. 2.test.sh部分源码 #!/bin/sh #查看桌面是否启动 while tru ...
- Linux shell脚本学习
1.cgmod +x ./文件 获取执行权限,使脚本具有执行权限 2. ./name.sh 执行脚本 ./为当前目录 直接使用name.sh系统会去PATH里面找name.sh,而PATH里只有/ ...
- linux shell脚本学习xargs命令使用详解
作用是将参数列表转换成小块分段传递给其他命令,以避免参数列表过长的问题 xargs是给命令传递参数的一个过滤器,也是组合多个命令的一个工具.它把一个数据流分割为一些足够小的块,以方便过滤器和命令进行处 ...
- Linux shell脚本基础学习详细介绍(完整版)一
Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提.1. Lin ...
- 详细介绍Linux shell脚本基础学习
Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提.1. Lin ...
- linux shell 脚本攻略学习20--awk命令入门详解
awk生于1977年,创始人有三个,分别为 Alfred Aho,Peter Weinberger, 和 Brian Kernighan,名称源于三个创始人的姓的首字母. 作用:处理文本文件. awk ...
- Linux shell脚本基础学习详细介绍(完整版)二
详细介绍Linux shell脚本基础学习(五) Linux shell脚本基础前面我们在介绍Linux shell脚本的控制流程时,还有一部分内容没讲就是有关here document的内容这里继续 ...
- 学习笔记之Linux Shell脚本教程:30分钟玩转Shell脚本编程
Linux Shell脚本教程:30分钟玩转Shell脚本编程 http://c.biancheng.net/cpp/shell/
随机推荐
- Linux镜像清理日志操作
1.安全 没有其他用户 查看 ll /home下没有其他用户 2.清理日志 rm -rf /root/* rm -rf /tmp/* rm -rf /etc/udev/rules.d/persist ...
- ubuntu18.04微信小程序学习笔记
安装微信小程序开发工具 安装 https://github.com/cytle/wechat_web_devtools 创建快捷方式 sudo nautilus //在/usr/share/appli ...
- koa中间件
koa是Express的下一代基于node的web框架 目前有1.x和2.0两个版本 1. Express Express是第一代最流行的web框架 它对node.js的http进行了封装 Exp ...
- 转载:如何优雅的实现INotifyPropertyChanged接口
转载来源:http://www.cnblogs.com/TianFang/p/6240933.html 如何优雅的实现INotifyPropertyChanged接口 INotifyPropertyC ...
- git GUI设置长期记住密码
git config --global credential.helper store
- IIS发布MVC ASP.NET网站
发布网站后,发现无法访问,最后在配置文件上添加一段: <system.codedom> <compilers> <compiler language="c#;c ...
- strcat的用法
原型: char *strcat(char *str1,char *str2); strcat的实现: char* MyStrcat(char *dst, const char*src) { if ( ...
- bootstrap treeview 树形数据生成
这个问题还是挺经典的,后台只是负责查出所有的数据,前台js来处理数据展示给treeview;show you the code below:<script> $(function () { ...
- Angular官方教程采坑
Angualar 7.0.1是现在的最新版本,教程总体来说还是不错的,但是我在跟着教程做英雄项目的时候出现了一个很明显的坑. 在教程的第6部分HTTP的内容中写到(见下图) 文档中特别注明了要使用0. ...
- struts 1.x 方法探析
public ActionForward index(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpS ...