shell脚本入门及基本元素
命令和参数
#!/bin/sh 其中#!用来告诉系统它后面的参数是用来执行该文件的程序,必须放在脚本的首行,不然会在执行脚 本 的时候报错。当一个文件开头的两个字符是#!时,内核会扫描其它的部分看是否存在该行的其余部分,看是否存在可用来执行程序的解释器的完整路径,此外,内核还会扫描是否有一个选项要传递给解释器。
eg:csh脚本 路径 /usr/ucb/whi
第一行 #!/bin/csh -f ,如果shell的查找路径里面有/usr/ucb,当用户键入whi -q /dev/tty 这条命令时,内核在解释过#!这行后,便会以如下的方式引用csh:
/bin/csh -f /usr/ucb/whi -q /dev/tty
shell的三种命令:内建命令,shell函数,外部命令
* 内建命令:shell本身所执行的命令 eg: cd ls echo 这类的命令
* shell函数:功能健全的一系列代码,可以像命令那样引用
* 外部命令:shell副本所执行的命令
变量
在shell编程中,所有的变量都由字符串组成,并且不需要对变量进行声明,对一个变量赋值:
变量名=值
如果想取出变量的值,需要在变量名前加美元符$,变量名=值,这中间不能有空格
如果变量的值含有空格时,要加上引号,像这样:a="1 2 3"
简单的IO命令及重定向
程序应该有数据来源端 、目的端、报告错误的地方,在shell里面分别对应标准输入,标准输出,和错误标准输出。
简单的echo,printf命令 (IO命令)
echo string 用来产生shell脚本的输出
echo 将各个参数打印到标准输出,并以换行符结束,如果不需要用 换行符结束,可用echo -n 或者echo " \c"
pintf string 【arguments】 可以按格式输出简单的字符串
其中,第一部分是一个字符串,用来描述输出的排列方式,此字符串包含了按字面显示的字符以及格式声明
格式声明就是表示参数应该按照何种格式进行输出
eg:printf "the first program always prints '%s,%s'!\n" hello world
输出: the first program always prints 'hello world ' 以字符串的格式输出hello world
printf "hello world \n" 注意:printf不会像echo那样,会自动提供一个换行符号
重定向和管道符
改变默认的I/O来源端和目的端,实际上,系统默认的标准输入(键盘),标准输出(终端)
* < 改变标准输入 > 改变标准输出
eg:program < file1 program> file2
* >>追加 如果目的文件不存在,>>会重新新建一个,存在的话,会添加信息到原文件结尾处。
* | 管道符
eg: p1 | p2 p1的标准输出是p2的标准输入
shell脚本入门及基本元素的更多相关文章
- Linux Shell脚本入门--cut命令
Linux Shell脚本入门--cut命令 cut cut 命令可以从一个文本文件或者文本流中提取文本列. cut语法 [root@www ~]# cut -d'分隔字符' -f fields &l ...
- linux的shell脚本入门
Linux shell脚本入门教程 为什么要进行shell编程 在Linux系统中,虽然有各种各样的图形化接口工具,但是sell仍然是一个非常灵活 的工具.Shell不仅仅是命令的收集,而且是一门非常 ...
- (一)shell脚本入门
shell脚本入门 1.脚本格式 脚本以#!/bin/bash 开头(指定解析器) 2.第一个shell脚本:helloworld (1)需求:创建一个shell脚本,输出helloworld 运行: ...
- Linux Shell脚本入门--wget 命令用法详解
Linux Shell脚本入门--wget 命令用法详解 wget是在Linux下开发的开放源代码的软件,作者是Hrvoje Niksic,后来被移植到包括Windows在内的各个平台上.它有以下功能 ...
- 【shell】shell脚本入门
1. 前言 1.1 为什么学习shell编程 Shell脚本语言是实现Linux/UNIX系统管理及自动化运维所必备的重要工具,Linux/UNIX系统的底层及基础应用软件的核心大部分涉及Shell脚 ...
- Linux入门第五天——shell脚本入门(上)基本概念
一.什么是shell脚本 Shell 脚本(shell script),是一种为 shell 编写的脚本程序. 二.shell入门 1.先导知识 变量知识补充:https://www.cnblogs. ...
- Linux Shell 脚本入门
linux shell 脚本格式 #!/bin/sh#..... (注释)命令...命令... 使用vi 创建完成之后需设置权限 chmod +x filename.sh 执行命令: ./filena ...
- Shell脚本入门与应用
编写第一个shell脚本 如同其他语言一样,通过我们使用任意一种文字编辑器,比如 nedit.kedit.emacs.vi 等来编写我们的 shell 程序.程序必须以下面的行开始(必须方在文件的第一 ...
- shell脚本入门
什么是Shell脚本 示例 看个例子吧: #!/bin/sh cd ~ mkdir shell_tut cd shell_tut for ((i=0; i<10; i++)); do touch ...
随机推荐
- 直接在 CSS 中引用 FONTAWESOME 图标(附码表)
直接在 CSS 中引用 FONTAWESOME 图标(附码表) 因此我们如果不想用 Fontawesome 提供的类,只想在 css 里面引用图标的话,可以这样子,请自行脑补: .icon:befor ...
- 文件大小K、M、G、T
function size2mb($size,$digits=2){ //digits,要保留几位小数 $unit= array('','K','M','G','T','P');//单位数组,是必须1 ...
- 使用AXIS2客户端调用 WEBSERVICE
问题 在调用WEBSERVICE时,可以使用wsdl2java生成java代码,调用接口,这种方法在接口固定的情况下是一种不错的选择,如果需要动态调用接口,那么这样就行不通了. 解决办法 1.直接构建 ...
- 关于RequireJS与AngularJS的集成文档
为什么要整合RequireJS RequireJS是一个Javascript 文件和模块框架,通过模块的方式来配置js文件之间的依赖关系,遵守的是CommonJS的AMD标准. 在开发的时候则无需关注 ...
- python爬取数据保存入库
import urllib2 import re import MySQLdb class LatestTest: #初始化 def __init__(self): self.url="ht ...
- html 中自动换行的实现方式
1,<div type="word-wrap: break-word;word-break:break-all;"> </div> 2, <div t ...
- ios 重签名
http://stackoverflow.com/questions/6569120/resigning-an-application-outside-xcode #!/bin/sh TEMPDIR= ...
- Bootstrap<基础十七>导航栏
导航栏是一个很好的功能,是 Bootstrap 网站的一个突出特点.导航栏在您的应用或网站中作为导航页头的响应式基础组件.导航栏在移动设备的视图中是折叠的,随着可用视口宽度的增加,导航栏也会水平展开. ...
- JQuery随笔
web请求中,外部样式文件的加载不影响页面,js的加载会影响页面的加载速度 window.onlond 页面所有元素加载完后执行包含js,css等加载完毕 $(function(){}) 页面中DOM ...
- 高斯过程(gaussian process)
Definition 1. A Gaussian Process is a collection of random variables, any finite number of which hav ...