Linux Shell编程(一)--Shell编程基础

转载 2012年03月27日 21:27:55

Shell有不同的风格,最常用的包括Bourne Shell(bsh)、Bourne Again Shell(bash)、C Shell(csh)、Korn Shell(ksh)和Perl Shell等。

Shell语言是区分大小写的。“#”表示注释。


I/O重定向,Linux系统中,数据流可分为3类:数据输入、数据输出和错误输出。它们对应的文件描述指针分别为0、1和2。可以使用重定向来改变数据流的流向:
> 文件 :输出结果重定向到文件
&> 文件:输出结果和标准错误输出一起重定向到文件
>> 文件:输出结果追加到文件
2> 文件:标准错误的输出重定向到文件
< 文件:将文件作为标准输入
<< 字符串:从标准输入中读取数据,如直到接收到指定字符串。


管道:将程序的输出结果导入到另一个程序来作为输入数据。如ls | cat。|&将标准错误输出一起送入管道。


前台与后台:前台运行时,Shell要等待命令结束,才能恢复自身的运行;后台运行时,Shell不必等待命令结束,就可执行下一命令。command &启动一个后台进程。

多个命令在同一行可以用分号“;”分隔,命令将依次被执行。如:echo hello;pwd;ls。“&&”连接两个命令时,前一命令成功才执行后一命令,如ls dir && cd dir。而“||”连接命令时,前一命令不成功时才执行后一命令,如ls dir/sub || cp sub dir。


通配符:“?”表示任意的单个字符,如a?c可以匹配abc。“*”表示任意长度的任意字符串,如a*d可以匹配 abcd。“[]”表示匹配放在中括号里的字符集中的任意一个字符,如a[bdf]c匹配abc。“{}”匹配大括号中的某个字符串,如 a{bc,ef}d匹配abcd。


引号有三种:
双引号(" "):除了“$”、“"”、“`”和“\”以外的字符都被解释成字符本身。例:echo "$PATH" 输出变量$PATH的值。
单引号(' '):所有特殊字符都不再有特殊意义,都被视为普通字符。例:echo '$PATH' 输出字符串“$PATH”。
反引号(` `):字符串被解释成命令。例:ehco `ls`输出与命令ls一样的字符串。

在脚本文件第1行可以指定使用的shell,例如:#!/bin/bash或#!/bin/tcsh。之后把文件作为可执行程序时,会自动作为指定的脚本语言运行。


运行脚本的方法有三种:
通过chmod u+x scriptfile把文件设置为可执行程序;
使用shell启动命令,bash scriptfile或tcsh scriptfile或sh scriptfile,sh是bash的一个链接;
使用bash内部命令source scriptfile或. scriptfile。

相关文章推荐

Linux Shell编程基础

  • 2016年01月09日 15:59
  • 25KB
  • 下载

Linux Shell编程基础完整知识

  • 2011年08月15日 02:45
  • 250KB
  • 下载

Linux Shell编程(二)--Shell变量及相关操作

Shell中变量的类型分为: 环境变量:Shell预定义的,用于设置系统运行环境的变量,由系统统一命名。常用的有HOME:用户主目录的全路径名;PATH:执行命令或Shell脚本时的查找路径,不...

Linux Shell编程(基础教程)(转载)

本文网址:http://bbs.bitscn.com/72875 复制 1. Linux 脚本编写基础 1.1 语法基本介绍 1.1.1 开头        程序必须以下面的行开始(必须放...

linux shell 编程入门基础

从程序员的角度来看, Shell本身是一种用C语言编写的程序,从用户的角度来看,Shell是用户与Linux操作系统沟通的桥梁。用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操...

Linux shell 脚本编程基础

1. Linux shell 脚本编写基础 1.1 语法基本介绍 1.1.1 开头 程序必须以下面的行开始(必须方在文件的第一行): #!/bin/sh 符号#!用来告诉系统它后面的参数是用...
  • ljzcom
  • ljzcom
  • 2012年02月13日 16:11
  • 308

Linux Shell编程(基础教程)

Linux Shell编程(基础教程) 本文网址:http://bbs.bitscn.com/72875 复制 1. Linux 脚本编写基础 1.1 语法基本介绍 1.1.1 开...

linux shell 编程基础

linux系统下给命令指定别名alias命令用法:  在linux系统中如果命令太长又不符合用户的习惯,那么我们可以为它指定一个别名。虽然可以为命令建立“链接”解决长文件名的问题,但对于带命令行参...

Linux shell 编程基础

Shell基本语法 像高级程序设计语言一样,Shell也提供说明和使用变量的功能。对Shell来讲,所有变量的取值都是一个字串,Shell程序采用$var的形式来引用名为var的变量的值。 She...

Linux shell编程 基础正则表达式

内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Linux Shell编程(一)--Shell编程基础
举报原因:
原因补充:

(最多只允许输入30个字)