首页 > 系统相关 >shell的介绍以及使用

shell的介绍以及使用

时间:2023-01-04 18:23:11浏览次数:33  
标签:bin 脚本 shell 介绍 Shell sh 使用 test

目录

shell的介绍以及使用

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

1、shell脚本

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

2、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)
  • ......

主要关注的是 Bash,也就是 Bourne Again Shell,由于易用和免费,Bash 在日常工作中被广泛使用。同时,Bash 也是大多数Linux 系统默认的 Shell。

在一般情况下,人们并不区分 Bourne Shell 和 Bourne Again Shell,所以,像 #!/bin/sh,它同样也可以改为 #!/bin/bash

3、第一个shell脚本

扩展名为sh的,可以使用vi/vim命令打开编辑,

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

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

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

4、运行shell脚本

运行方式有两种

4.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 告诉系统说,就在当前目录找。

4.2、作为解释器参数

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

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

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

标签:bin,脚本,shell,介绍,Shell,sh,使用,test
From: https://www.cnblogs.com/lgxdev/p/17025678.html

相关文章

  • shell数组
    shell数组shell数组中只有一维数组,没有二维数组。下标从0开始,不需要初始化数组大小。1、语法array_name=(value1value2...valuen)简单的创建:#!/bin/bashmy_arra......
  • 析构函数 和 构造函数 和 base使用
    classA//基类First{~A()//析构函数{Console.WriteLine("~A()析构函数");}publicA(){......
  • C语言中使用ESL连接FreeSwitch
    前言之前在【FreeSwitch开发实践】在nodejs中用ESL连接FreeSwitch一文介绍了在NodeJS下使用ESL连接FreeSwitch,本文则对在C语言下使用ESL连接FreeSwitch作了一个系统介绍......
  • jbpm5.1介绍(7)
    Junit测试评估流程评估流程的界面如下:这个示例里边用到了ScriptTask,ServiceTask和UserTaskLog执行记录日志的功能,打印出一段信息RegisterRequest调用外部预定义的程序或......
  • 消息队列:第三章:在Java中使用消息队列
    在项目中导入依赖坐标<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-activemq</artifactId>......
  • vue3使用clipboard
    <divclass="content-link"><spanid="link"class="content-link-urlellipsis">{{userInfo?.user.referralUrl}}</span><CopyIcon@click="copyUrl"class="......
  • 使用Adb与Pico传输文件
    一、安装apk到Pico 1、下载并解压Adb,下载地址2、通过数据线将Pico一体机连接到电脑,打开命令行工具,进入Adb所在文件夹,输入adbdevices,会展示设备的信息。 3、输入adb......
  • 微信小程序基础之媒体(图片,音频,视频)和地图的使用
    好久没有写过关于微信小程序的Demo了,今天向大家展示的关于媒体(图片,音频,视频)和地图的使用方法,希望对大家有所帮助,不喜勿喷,谢谢~代码中都有必要的文字注释,部分代码如下:图片:<!-......
  • Swift基础之如何使用iOS 9的Core Spotlight框架
    本文由​​CocoaChina​​译者KingOfOnePiece(博客)翻译作者:GABRIELTHEODOROPOULOS?校对:hyhSuper原文:​​HowToUseCoreSpotlightFrameworkiniOS9​​iOS每一次版本的......
  • c# webApi返回Excel数据流 || 使用Excel数据流的方式下载Excel
    背景:在前端无法生成特殊的excel表格,或操作复杂的时候会通过后台进行生成excel。但是服务器的资源也非常宝贵,所以通过数据流的方式就可以实现:不在服务器存储的情况下,使......