`

第一个Shell脚本

阅读更多
打开文本编辑器,新建一个文件,扩展名为sh(sh代表shell),扩展名并不影响脚本执行,见名知意就好,如果你用php写shell 脚本,扩展名就用php好了。

输入一些代码:
#!/bin/bash
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 上输出:
#!/bin/bash
# Author : mozhiyan
# Copyright (c) http://see.xidian.edu.cn/cpp/linux/
# Script follows here:
echo "What is your name?"
read PERSON
echo "Hello, $PERSON"

运行脚本:
chmod +x ./test.sh
$./test.sh
What is your name?
mozhiyan
Hello, mozhiyan

$
分享到:
评论

相关推荐

    shell教程从入门开始-第一个shell脚本

    shell shell教程从入门开始|第一个shell脚本

    Shell 脚本编程最佳实践.doc

    1. **Shebang(蛇棒)**:脚本的第一行应包含`#!`,后接解释器路径,如`#!/bin/bash`。这指定了脚本应该由哪个shell解释器执行。如果在运行时没有指定解释器,系统会根据shebang选择。 2. **代码注释**:注释是必不...

    Shell脚本编程100例

    2. **位置变量**:在Shell脚本中,`$1`、`$2`等是位置参数,分别代表脚本运行时传递的第1个、第2个参数。这里使用它们创建新用户并设置密码。 3. **定时任务与tar备份**:`cron`是一个调度服务,用于定期执行任务。...

    shell脚本入门到精通教程

    接下来,我们会编写第一个Shell脚本,这是一个简单的命令集合,通过执行这些命令,你可以体验到Shell脚本的威力。 在Shell脚本中,变量是存储数据的关键。你可以定义变量来保存文本、数字或其他值。变量的引用可以...

    解决Unity不能调用shell脚本传递参数的问题

    这个脚本非常简单,它的功能是将第一个参数(在这里是“unity”)追加到第二个参数所指向的文件(在这里是“test.log”)中。当Unity正确地调用该脚本后,应该能够在`test.log`文件中看到“unity”。 #### 总结 ...

    shell 脚本 实例 shell 脚本 实例

    1. **Shebang**:也称为“井号感叹号”,它是脚本的第一行,用于指定执行该脚本的Shell类型,例如`#!/bin/bash`。 2. **变量声明**:在脚本中,我们可以定义并使用变量来存储数据,如`name="John"`。 3. **控制结构*...

    linux下101个shell脚本

    3. **命令行参数**:脚本可以接收命令行参数,例如`$1`, `$2`代表第一个和第二个参数。 4. **流程控制**:包括条件语句(`if`, `else`, `fi`)和循环(`for`, `while`, `until`)。 二、常见Shell命令 在脚本中,...

    Shell脚本实现二维码图片生成

    例如,你可以通过`$1`访问第一个命令行参数,代表要生成的二维码内容。 2. **调用qrencode**:使用`qrencode`命令将数据转换为PNG图片。基本语法是`qrencode -o output.png "your_data"`,这会将"your_data"编码为...

    android系统中调用shell脚本

    5. **使用AIDL(Android Interface Definition Language)**:创建一个服务,通过AIDL接口暴露调用shell脚本的功能,然后在客户端调用该服务。这种方式适用于跨进程通信。 6. **使用第三方库**:如`android.os....

    korn-shell脚本入门.docx

    编写Korn Shell脚本需要使用文本编辑器,如vi编辑器,首先需要添加Shell名称作为第一行,然后构建脚本标头,定义变量,编写脚本主体。 4. 什么是变量?变量是Korn Shell脚本中的一种数据存储方式,允许用户在脚本中...

    Shell 脚本语言入门

    其中,第一行`#!/bin/bash`称为shebang,指定了解释器路径,确保脚本使用正确的Shell环境执行。 #### Shell脚本的高级功能 - **参数处理**:脚本可以接受命令行参数,使用`$1`, `$2`等变量访问。 - **环境变量**...

    shell脚本的demo

    本示例“shell脚本的demo”提供了一个基础的教程,旨在帮助初学者理解并掌握Shell脚本的基本语法和用法。下面将详细阐述相关知识点。 1. **Shell脚本简介**: Shell脚本是一种文本文件,包含了一系列命令,当执行...

    编写shell脚本经典教材

    "如何编写一个shell脚本.doc"文档可能包含具体的步骤和示例,教授如何从无到有地编写一个完整的Shell脚本,包括定义变量、处理输入参数、执行条件判断、进行文件操作等。 通过学习这些知识点,并结合实际的编程练习...

    Linux 命令与Shell 脚本编程pdf书籍

    Shell脚本是Linux系统中的一种自动化工具,可以编写一系列命令并将其打包成一个可执行文件,极大地提高了工作效率。书中详细讲解了Bash Shell的基础知识,包括变量、条件语句(如`if-else`)、循环结构(如`for`和`...

    Linux shell 脚本攻略源代码第二版

    函数是Shell脚本的另一个重要概念,它们允许你封装可重用的代码段。通过定义和调用函数,可以提高脚本的可读性和维护性。书中的示例会展示如何声明、传递参数和返回值。 条件测试是控制流程的关键部分。在Shell脚本...

    shell脚本编程100例

    位置参数在Shell脚本中用于传递参数,如"$1"代表第一个参数,"$2"代表第二个参数。这在创建用户及密码时非常有用。 #### 3. 备份日志文件 使用tar命令结合日期标签来备份文件,避免数据被覆盖。计划任务使用crontab...

    LINUX SHELL 脚本攻略

    本书的第三版包含了全面的Shell脚本知识,不仅适合初学者入门,也适合经验丰富的系统管理员和开发人员进一步提高。 Linux系统中常用的Shell类型有多种,例如bash、ksh、csh、zsh等,不同的Shell有不同的语法和特性...

    编写Shell脚本

    在学习Shell脚本编写时,理解这些基本概念是第一步。随着技能的提升,还可以深入学习更高级的主题,比如进程控制、信号处理、函数库、脚本调试等。此外,编写脚本时遵循良好的编程习惯,如注释、变量命名规范、代码...

    简单shell脚本编写

    程序必须以下面的行开始(必须放在文件的第一行):`#!/bin/sh`,符号#!用来告诉系统它后面的参数是用来执行该文件的程序。在这个例子中我们使用 `/bin/sh` 来执行程序。 当编辑好脚本时,如果要执行该脚本,还必须...

Global site tag (gtag.js) - Google Analytics