Shell脚本运行环境及基本使用方法

 更新时间:2023年05月10日 10:41:02   作者:向阳逐梦  
这篇文章主要为大家介绍了Shell脚本运行环境及基本使用方法,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

引言

Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。

Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。

Ken Thompson 的 sh 是第一种 Unix Shell,Windows Explorer 是一个典型的图形界面 Shell。

一、Shell 脚本

Shell 脚本(shell script),是一种为 shell 编写的脚本程序。

业界所说的 shell 通常都是指 shell 脚本,但读者朋友要知道,shell 和 shell script 是两个不同的概念。

由于习惯的原因,简洁起见,本文出现的 "shell编程" 都是指 shell 脚本编程,不是指开发 shell 自身。

二、Shell 环境

Shell 编程跟 JavaScript、php 编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了。

Linux 的 Shell 种类众多,常见的有:

  • Bourne Shell(/usr/bin/sh或/bin/sh)
  • Bourne Again Shell(/bin/bash)
  • C Shell(/usr/bin/csh)
  • K Shell(/usr/bin/ksh)
  • Shell for Root(/sbin/sh)

三、第一个shell脚本

打开文本编辑器(可以使用 vi/vim 命令来创建文件),新建一个文件 test.sh,扩展名为 sh(sh代表shell),扩展名并不影响脚本执行,见名知意就好,如果你用 php 写 shell 脚本,扩展名就用 php 好了。

输入一些代码,第一行一般是这样:

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

#! 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种 Shell。

echo 命令用于向窗口输出文本。

运行 Shell 脚本有两种方法:

1、作为可执行程序

将上面的代码保存为 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 告诉系统说,就在当前目录找。

2、作为解释器参数

这种运行方式是,直接运行解释器,其参数就是 shell 脚本的文件名,如:

/bin/sh test.sh
/bin/php test.php

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

ubuntu(linux)下 source、sh、bash、./ 执行脚本的区别是什么?

1. source命令用法:

source FileName

作用:在当前 bash 环境下读取并执行 FileName 中的命令。该 filename 文件可以无 "执行权限"。

注:该命令通常用命令 . 来替代。

2. sh、bash的命令用法:

sh FileName
或
bash FileName

作用:打开一个子 shell 来读取并执行 FileName 中命令。该 filename 文件可以无 "执行权限"。

注:运行一个shell脚本时会启动另一个命令解释器。

3、./的命令用法:

./FileName

作用: 打开一个子 shell 来读取并执行 FileName 中命令,该 filename 文件需要 "执行权限"。

注:运行一个 shell 脚本时会启动另一个命令解释器。

以上就是Shell脚本运行环境及基本使用方法的详细内容,更多关于Shell脚本运行环境的资料请关注脚本之家其它相关文章!

相关文章

  • shell中数组的定义及操作

    shell中数组的定义及操作

    本文主要介绍了shell中数组的定义及操作,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-05-05
  • shell脚本引用外部变量的两种方法

    shell脚本引用外部变量的两种方法

    本文主要介绍了shell脚本引用外部变量的两种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-05-05
  • 在Linux中将cURL的输出保存到文件的几种方法

    在Linux中将cURL的输出保存到文件的几种方法

    当你需要将cURL的输出保存到文件时,Linux提供了几种不同的方法,cURL是一个功能强大的命令行工具,用于在网络上传输数据,通常用于HTTP请求,在本文中,我们将探讨如何使用cURL将其输出保存到文件,以及一些附加的选项和技巧
    2023-09-09
  • Linux系统中掩耳盗铃的sudo配置

    Linux系统中掩耳盗铃的sudo配置

    这篇文章主要介绍了Linux系统中掩耳盗铃的sudo配置的相关资料,需要的朋友可以参考下
    2015-09-09
  • Linux启动与自启动的实例详解

    Linux启动与自启动的实例详解

    这篇文章主要介绍了Linux启动与自启动的实例详解的相关资料,希望通过本文大家能理解掌握这部分内容,需要的朋友可以参考下
    2017-09-09
  • Shell脚本实现服务器多台免密登录操作

    Shell脚本实现服务器多台免密登录操作

    本文介绍了auto_ssh_batch.sh脚本,用于在多台RHEL/CentOS7主机之间快速配置SSH免密登录,并支持远程传输脚本/文件及执行命令,脚本通过pass文件提供统一认证凭据,nodes文件定义目标主机列表,实现批量自动化操作,感兴趣的朋友一起看看吧
    2025-03-03
  • 详解Linux中的awk命令

    详解Linux中的awk命令

    awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。这篇文章主要介绍了Linux中的awk命令的相关知识,需要的朋友可以参考下
    2019-11-11
  • Linux 命令之rsync命令详解

    Linux 命令之rsync命令详解

    rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。下面通过本文给大家分享Linux 命令之rsync命令详解,需要的朋友参考下吧
    2017-08-08
  • 详解Linux下的sudo及其配置文件/etc/sudoers的详细配置

    详解Linux下的sudo及其配置文件/etc/sudoers的详细配置

    这篇文章主要介绍了详解Linux下的sudo及其配置文件/etc/sudoers的详细配置的相关资料,需要的朋友可以参考下
    2017-05-05
  • 监控php-fpm并自动重启服务的shell脚本

    监控php-fpm并自动重启服务的shell脚本

    这篇文章主要介绍了监控php-fpm并自动重启服务的shell脚本,脚本的主要功能:不断检查网站的状态,如果异常就重启php-fpm服务,需要的朋友可以参考下
    2014-05-05

最新评论