关闭

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

标签: shelllinux编程bashpath脚本
161人阅读 评论(0) 收藏 举报
分类:

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。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:11238次
    • 积分:174
    • 等级:
    • 排名:千里之外
    • 原创:2篇
    • 转载:23篇
    • 译文:0篇
    • 评论:1条
    文章分类
    文章存档
    最新评论
  • myeclipse配置dwr

    syj_1993: 我按照你的做了前三步。结果运行第四步时 也就是访问页面是报错严重: StandardWrapper....