命令和参数


    #!/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脚本入门及基本元素的更多相关文章

  1. Linux Shell脚本入门--cut命令

    Linux Shell脚本入门--cut命令 cut cut 命令可以从一个文本文件或者文本流中提取文本列. cut语法 [root@www ~]# cut -d'分隔字符' -f fields &l ...

  2. linux的shell脚本入门

    Linux shell脚本入门教程 为什么要进行shell编程 在Linux系统中,虽然有各种各样的图形化接口工具,但是sell仍然是一个非常灵活 的工具.Shell不仅仅是命令的收集,而且是一门非常 ...

  3. (一)shell脚本入门

    shell脚本入门 1.脚本格式 脚本以#!/bin/bash 开头(指定解析器) 2.第一个shell脚本:helloworld (1)需求:创建一个shell脚本,输出helloworld 运行: ...

  4. Linux Shell脚本入门--wget 命令用法详解

    Linux Shell脚本入门--wget 命令用法详解 wget是在Linux下开发的开放源代码的软件,作者是Hrvoje Niksic,后来被移植到包括Windows在内的各个平台上.它有以下功能 ...

  5. 【shell】shell脚本入门

    1. 前言 1.1 为什么学习shell编程 Shell脚本语言是实现Linux/UNIX系统管理及自动化运维所必备的重要工具,Linux/UNIX系统的底层及基础应用软件的核心大部分涉及Shell脚 ...

  6. Linux入门第五天——shell脚本入门(上)基本概念

    一.什么是shell脚本 Shell 脚本(shell script),是一种为 shell 编写的脚本程序. 二.shell入门 1.先导知识 变量知识补充:https://www.cnblogs. ...

  7. Linux Shell 脚本入门

    linux shell 脚本格式 #!/bin/sh#..... (注释)命令...命令... 使用vi 创建完成之后需设置权限 chmod +x filename.sh 执行命令: ./filena ...

  8. Shell脚本入门与应用

    编写第一个shell脚本 如同其他语言一样,通过我们使用任意一种文字编辑器,比如 nedit.kedit.emacs.vi 等来编写我们的 shell 程序.程序必须以下面的行开始(必须方在文件的第一 ...

  9. shell脚本入门

    什么是Shell脚本 示例 看个例子吧: #!/bin/sh cd ~ mkdir shell_tut cd shell_tut for ((i=0; i<10; i++)); do touch ...

随机推荐

  1. UIKit框架

    在今后的应用程序构建中,会陆续使用各式各样的控件,因此UIKit框架的引入是必不可少的! 一.简介 UIKitk框架提供一系列的Class(类)来建立和管理iPhone OS应用程序的用户界面接口.应 ...

  2. canvas绘图

    1.//获取canvas容器var can = document.getElementById('canvas');//创建一个画布var ctx = can.getContext('2d');2.绘 ...

  3. pandas筛选0,3,6开头的行

    http://stackoverflow.com/questions/15325182/how-to-filter-rows-in-pandas-by-regex dbstk.loc[dbstk.ST ...

  4. org.apache.catalina.webresources.Cache.getResource Unable to add the resource

    org.apache.catalina.webresources.Cache.getResource Unable to add the resource at xxx to the cache be ...

  5. clearfix清除浮动

    首先在很多很多年以前我们常用的清除浮动是这样的. 1 .clear{clear:both;line-height:0;} 现在可能还可以在很多老的站点上可以看到这样的代码,相当暴力有效的解决浮动的问题 ...

  6. 前端面试题之Html和CSS

    又到了毕业季,很多小伙伴们都到了找工作的时候了,好多小伙伴问我有前端的面试题么?答:没有. 呃呃… … 小伙伴本宝宝真的没有骗你们,我从毕业到现在一直在一家公司没有换过,所以手里压根没有面试题.我们公 ...

  7. 伪静态重写模块rewrite.dll及httpd.ini文件参考下载

    伪静态重写模块rewrite.dll及httpd.ini文件参考下载 http://www.ledaokj.com/download/rewrite.rar 服务器端开启伪静态,可以查看以下文章< ...

  8. nsmutableset

    // //  main.m //  nsmutableset // //  Created by 博博 on 16/1/11. //  Copyright (c) 2016年 com.bb. All ...

  9. JS中函数的调用和this的值

    调用每一个函数会暂停当前函数的执行,传递控制权和参数给新函数.除了声明时定义的形式参数,每个函数还接收两个附加的参数:this 和 arguments. 参数this在面向对象编程中非常重要,他的值取 ...

  10. Windows 通用应用尝试开发 “51单片机汇编”总结

    一.前言 终于完成windows通用应用“51单片机汇编”,半年前开始玩WindowsPhone开发的第一个真正意义上的App(还很多缺点=_=).开发从1月中旬考完试到今天,期间实习了半个月,玩了几 ...