shell_01:第一个.sh文件

 1、新建第一个.sh文件


#!/bin/bash
# Copyright (c) http://www.baidu.com/

echo "What is your name?"
read PERSON
echo "Hello, $PERSON"

第 1 行的#!是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种 Shell;后面的/bin/bash就是指明了解释器的具体位置。

第 2 行的#及其后面的内容是注释。Shell 脚本中所有以#开头的都是注释(当然以#!开头的除外)

echo用来打印内容到控制台

read用来获取键盘输入内容

echo "Hello, $PERSON" 表示输出变量 PERSON 的内容。注意在变量名前边要加上$,否则变量名会作为字符串的一部分处理

2、执行shell脚本

运行 Shell 脚本有两种方法,一种在新进程中运行,一种是在当前 Shell 进程中运行

在新进程中运行 Shell 脚本有多种方法。

2.1、在新进程中运行shell脚本

2.1.1、将 Shell 脚本作为程序运行

Shell 脚本也是一种解释执行的程序,可以在终端直接调用(需要使用 chmod 命令给 Shell 脚本加上执行权限),如下所示:

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

2.1.2、 将 Shell 脚本作为参数传递给 Bash 解释器

也可以直接运行 Bash 解释器,将脚本文件的名字作为参数传递给 Bash,如下所示:

通过这种方式运行脚本,不需要在脚本文件的第一行指定解释器信息,写了也没用。

 检测是否开启了新进程

Linux 中的每一个进程都有一个唯一的 ID,称为 PID,使用$$变量就可以获取当前进程的 PID。$$是 Shell 中的特殊变量

 2.2、在当前进程中运行 Shell 脚本

        这里需要引入一个新的命令——source 命令。source 是 Shell 内置命令的一种,它会读取脚本文件中的代码,并依次执行所有语句。你也可以理解为,source 命令会强制执行脚本文件中的全部命令,而忽略脚本文件的权限。

        source命令的用法为:source filename,也可以简写为. filename(.和文件名之间有个空格)

         使用 source 命令不用给脚本增加执行权限,并且写不写./都行

总结:如果需要在新进程中运行 Shell 脚本,一般使用bash test.sh这种写法;如果在当前进程中运行 Shell 脚本,一般使用. ./test.sh这种写法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值