码迷,mamicode.com
首页 > 系统相关 > 详细

Shell脚本(一)

时间:2015-07-25 13:46:08      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:

与编译型语言不同,shell脚本是一种解释型语言。

执行这类程序时,解释器(interpreter)需要读取我们编写的源代码(source code),并将其转换成目标代码(object code),再由计算机运行。

Linux默认的脚本解析器是bash。

参考资料 http://c.biancheng.net/cpp/view/6994.html

 

第一个Shell脚本

下面演示我们的第一个shell脚本,使用文本编辑器(如vi),键入如下代码并保存为hello.sh

#!/bin/bash
echo "Hello World !"

然后给该脚本赋予执行权限

chmod +x ./hello.sh

然后执行该脚本,终端就会显示Hello World!

其中脚本第一行#!/bin/bash 指明了该脚本的解释器

 

read命令

下面的脚本使用read命令从 stdin 获取输入并赋值给 PERSON 变量,最后在 stdout 上输出

#!/bin/bash
echo "What is your name?"
read PERSON
echo "Hello, $PERSON"

下面是运行情况

技术分享

 

 

Shell变量

定义变量

variableName="value"

使用一个定义过的变量,只要在变量名前面加美元符号($)即可,如:

name="runnyu"
echo ${name}

花括号可加可不加,加花括号是为了帮助解释器识别变量的边界。使用readonly+变量名可以将变量定义为只读变量,unset+变量名可以删除变量

readonly name
unset name

 

 

特殊变量

技术分享

编写special.sh测试

#!/bin/sh
echo "pid=$$"
echo "$0"
echo "$1"
echo "$2"
echo "$#"
echo "$*"

运行结果

技术分享

$* 和 $@ 都表示传递给函数或脚本的所有参数,不被双引号(" ")包含时,都以"$1" "$2" … "$n" 的形式输出所有参数。

但是当它们被双引号(" ")包含时,"$*" 会将所有的参数作为一个整体,以"$1 $2 … $n"的形式输出所有参数;"$@" 会将各个参数分开,以"$1" "$2" … "$n" 的形式输出所有参数。

Shell脚本(一)

标签:

原文地址:http://www.cnblogs.com/runnyu/p/4675537.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!