shell脚本语言学习1——第一个shell脚本

原创 2016年08月30日 11:08:47
打开文本编辑器,新建一个文件,扩展名为sh(sh代表shell),扩展名并不影响脚本执行,见名知意就好,如果你用php写shell 脚本,扩展名就用php好了。

输入一些代码:
  1. #!/bin/bash
  2. echo "Hello World !"
“#!” 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种Shell。echo命令用于向窗口输出文本。

运行Shell脚本有两种方法。

作为可执行程序

将上面的代码保存为test.sh,并 cd 到相应目录:
chmod +x ./test.sh  #使脚本具有执行权限
./test.sh  #执行脚本
注意,一定要写成./test.sh,而不是test.sh。运行其它二进制的程序也一样,直接写test.sh,linux系统会去PATH里寻找有没有叫test.sh的,而只有/bin, /sbin, /usr/bin,/usr/sbin等在PATH里,你的当前目录通常不在PATH里,所以写成test.sh是会找不到命令的,要用./test.sh告诉系统说,就在当前目录找。

通过这种方式运行bash脚本,第一行一定要写对,好让系统查找到正确的解释器。

这里的"系统",其实就是shell这个应用程序(想象一下Windows Explorer),但我故意写成系统,是方便理解,既然这个系统就是指shell,那么一个使用/bin/sh作为解释器的脚本是不是可以省去第一行呢?是的。

作为解释器参数

这种运行方式是,直接运行解释器,其参数就是shell脚本的文件名,如:
/bin/sh test.sh
/bin/php test.php
这种方式运行的脚本,不需要在第一行指定解释器信息,写了也没用。

再看一个例子。下面的脚本使用 read 命令从 stdin 获取输入并赋值给 PERSON 变量,最后在 stdout 上输出:
  1. #!/bin/bash
  2. # Author : mozhiyan
  3. # Copyright (c) http://see.xidian.edu.cn/cpp/linux/
  4. # Script follows here:
  5. echo "What is your name?"
  6. read PERSON
  7. echo "Hello, $PERSON"
运行脚本:
chmod +x ./test.sh
$./test.sh
What is your name?
mozhiyan
Hello, mozhiyan
$

三分钟复习Shell脚本语言

http://c.biancheng.net/cpp/view/6994.html bash是 Bourne Again Shell 的缩写,是linux标准的默认shell ,它基于Bourne ...
  • saghir
  • saghir
  • 2016年01月29日 13:03
  • 706

shell脚本语言基本语法学习

Qiniu 七牛问题解答shell脚本语言入门问题解决方案Shell日常学习Cd / 进入到根目录Pwd 当前目录结构Tab 模糊查找补全命令 Ifconfg 查看当前网络的信息*?[] 通配符 方...
  • guoer9973
  • guoer9973
  • 2015年04月01日 14:27
  • 2166

shell脚本学习10——函数

函数可以让我们将一个复杂功能划分成若干模块,让程序结构更加清晰,代码重复利用率更高。像其他编程语言一样,Shell 也支持函数。Shell 函数必须先定义后使用。 Shell 函数的定义格式如下...
  • Watson2016
  • Watson2016
  • 2016年08月30日 12:40
  • 579

快速学习shell脚本语言

Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的。Shell既是一种命令语言,又是一种程序设计语言。作为命令语言,它交互式地解释...
  • Marelin
  • Marelin
  • 2014年09月13日 15:33
  • 2520

shell、cmd、dos和脚本语言

操作系统可以分成核心(kernel)和Shell(外壳)两部分,其中,Shell是操作系统与外部的主要接口,位于操作系统的外层,为用户提供与操作系统核心沟通的途径。...
  • wkw1125
  • wkw1125
  • 2016年12月29日 22:56
  • 1512

Shell脚本学习(一) - 创建脚本

Shell脚本了解及创建
  • camlot_
  • camlot_
  • 2015年08月12日 15:40
  • 4798

让你提前认识软件开发(22):shell脚本中的文件操作

第1部分 重新认识C语言shell脚本中的文件操作 【文章摘要】        编写shell脚本时,经常会涉及到对文件的操作,比如从文件中读取一行数据、向文件追加一行数据等。完成文件读写操作的方法有...
  • zhouzxi
  • zhouzxi
  • 2014年05月17日 20:49
  • 2640

shell 脚本中 1>、2>、2>&1 的作用

举例: sh /tmp/aa.sh >/dev/null 2>&1 解释: >和>>都是重定向输出 1> 指标准信息输出路径(也就是默认的输出方式) 2> 指错误信息输出...
  • wsclinux
  • wsclinux
  • 2015年09月02日 15:34
  • 902

Shell脚本的echo命令用法

在使用shell脚本之前,我们是否应该先通俗的了解一下shell是什么呢?shell可以理解为命令解释器。我们知道,如果我们想要计算机去做一件事儿,就得告诉它。但是计算机内核不可能直接识别我们的命令,...
  • u011878191
  • u011878191
  • 2014年11月26日 22:08
  • 3059

Shell学习(1)——第一个shell脚本

本文中所有例子均在ubuntu 13.04(内核3.x)下运行。 程序编辑 打开终端(快捷方式:ctrl+alt+t),输入命令gedit 1.sh,在编辑器中键入以下内容: # # shell sc...
  • u012689588
  • u012689588
  • 2014年01月28日 22:26
  • 561
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:shell脚本语言学习1——第一个shell脚本
举报原因:
原因补充:

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