zoukankan      html  css  js  c++  java
  • Shell Script 入门教程

    和 Shell 的区别

    Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。

    Shell 即是一种命令语言,又是一种程序设计语言。

    Shell 是指一种应用程序,这个应用程序提供了一些命令,用户可以通过这些命令去访问操作系统内核的服务。

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

    Shell 在线工具

    Shell 脚本,是一种为 Shell 编写的脚本程序,类似 Windows 的 bat 脚本,区别在于 bat 是用于操作 Windows 操作系统,而 Shell 脚本用于操作 Linux 系统。

    脚本的编程环境

    • 文本编辑器
    • 能解释执行的脚本解释器
      常见的解释器有:
      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 也是大多数 Linux 系统默认的 Shell。

    Shell Script 开头的 #! 告诉系统解释此脚本文件的 Shell 程序路径,例如下面的 Shell Scirpt 执行路径为 /bin/bash

    #!/bin/bash

    第一个 Shell Script

    打开文本编辑器(可以使用 vi/vim 或是 vs code 来编写),新建一个文件 test.sh,扩展名为 sh (sh 代表 shell),扩展名并不影响脚本执行。

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

    #! 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种 Shell。
    echo 命令用于向窗口输出文本。

    运行 Shell Script 有两种方法:

    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. 作为解释器参数

    /bin/sh test.sh

    这种方式运行的脚本,不需要在脚本中的第一行指定解释器信息

    运行效果如下图:

     
     
  • 相关阅读:
    LeetCode 83. Remove Duplicates from Sorted List (从有序链表中去除重复项)
    LeetCode 21. Merge Two Sorted Lists (合并两个有序链表)
    LeetCode 720. Longest Word in Dictionary (字典里最长的单词)
    LeetCode 690. Employee Importance (职员的重要值)
    LeetCode 645. Set Mismatch (集合不匹配)
    LeetCode 500. Keyboard Row (键盘行)
    LeetCode 463. Island Perimeter (岛的周长)
    115.Distinct Subsequences
    55.Jump Game
    124.Binary Tree Maximum Path Sum
  • 原文地址:https://www.cnblogs.com/ryanzheng/p/11563100.html
Copyright © 2011-2022 走看看