• 编写第一个 Shell 脚本


    什么是 Shell 脚本?

    一个 shell 脚本就是一个包含一系列命令的文件。shell 读取这个文件,然后执行 文件中的所有命令,就好像这些命令已经直接被输入到了命令行中一样。

    怎样编写一个 Shell 脚本
    为了成功地创建和运行一个 shell 脚本,我们需要做三件事情:

    1. 编写一个脚本。 Shell 脚本就是普通的文本文件。所以我们需要一个文本编辑器来书写它们。最好的文本 编辑器都会支持语法高亮,这样我们就能够看到一个脚本关键字的彩色编码视图。语法高亮会帮助我们查看某种常见 错误。为了编写脚本文件,vim,gedit,kate,和许多其它编辑器都是不错的候选者。
    2. 使脚本文件可执行。 系统会相当挑剔不允许任何旧的文本文件被看作是一个程序,并且有充分的理由! 所以我们需要设置脚本文件的权限来允许其可执行。
    3. 把脚本放置到 shell 能够找到的地方 当没有指定可执行文件明确的路径名时,shell 会自动地搜索某些目录, 来查找此可执行文件。为了最大程度的方便,我们会把脚本放到这些目录当中。

    脚本文件格式

    为了保持编程传统,我们将创建一个 “hello world” 程序来说明一个极端简单的脚本。
    所以让我们启动 我们的文本编辑器,然后输入以下脚本并保存名为 hellow

    #!/bin/bash
    # This is our first script.
    echo 'Hello World!'
    num=2
    echo “this is the ${num}nd”

    1 符号#!用来告诉系统它后面的参数是用来执行该文件的程序。在这个例子中我们使用/bin/sh来执行程序。
    2 # 注释
    3 echo 向屏幕输出一句话
    4 定义变量为 2
    5 输出变量num

    类似于许多命令,这也在命令行中起作用:

    dongdong@dongdong:~/桌面$ echo 'Hello World!' # This is a comment too 
    Hello World!
    dongdong@dongdong:~/桌面$ Hello World!
    

    可执行权限
    下一步我们要做的事情是让我们的脚本可执行。使用 chmod 命令,这很容易做到:

    dongdong@dongdong:~/桌面$ chmod 755 hellow
    

    对于脚本文件,有两个常见的权限设置;权限为755的脚本,则每个人都能执行,和权限为700的 脚本,只有文件所有者能够执行。注意为了能够执行脚本,脚本必须是可读的。

    脚本文件位置
    设置权限后执行脚本

    dongdong@dongdong:~/桌面$ ./hellow
    Hello World!

    为了能够运行此脚本,我们必须指定脚本文件明确的路径。如果我们没有那样做,我们会得到这样的提示:

    bash: hello_world: command not found

    PATH 环境变量及其它在系统 查找可执行程序方面的作用。
    回顾一下,如果没有给出可执行程序的明确路径名,那么系统每次都会 搜索一系列的目录,来查找此可执行程序。这个/bin 目录就是其中一个系统会自动搜索的目录。 这个目录列表被存储在一个名为 PATH 的环境变量中。这个 PATH 变量包含一个由冒号分隔开的目录列表。 我们可以查看 PATH 的内容:

    dongdong@dongdong:~/桌面$ echo $PATH
    /opt/ros/indigo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
    

    如何添加新的地址

    echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
    
  • 相关阅读:
    PyScript 使用(1)
    振兴二线城市,输送一线it人员
    devops部署过慢
    Masked Language Modeling Maybe Helpful for Prompt learning Testing ?
    E 2022.4.4 2
    Kaggle踩坑记
    Go从入门到精通——示例:并发打印
    Go从入门到精通——示例:Telnet 回音服务器——TCP服务器的基本结构
    Go从入门到精通—示例:模拟远程过程调用(RPC)
    Kubernetes——centos8.0 使用kubeadm部署 k8sv1.18.20+etcdv3.3.10+flannelv0.10.0 高可用集群
  • 原文地址:https://www.cnblogs.com/kekeoutlook/p/7396949.html
Copyright © 2020-2023  润新知