博客
关于我
shell知识点:脚本执行方法
阅读量:146 次
发布时间:2019-02-27

本文共 1051 字,大约阅读时间需要 3 分钟。

1. Shell脚本执行

在使用Shell脚本时,确保脚本能够正常执行需要注意以下几点:

  • 脚本可执行性

    • 如果脚本文件没有可执行权限(如文件开头没有#!/bin/bash#!/sh),需要预先为脚本文件赋予可执行权限。可以使用以下命令:
    chmod u+x script-name

    或者使用更宽松的权限设置:

    chmod 755 script-name
    • 可以通过两种方式执行脚本:
    bash script-name   # 或 sh script-name./script-name     # 前提是脚本所在目录是当前工作目录
  • 使用source.执行脚本

    • source script-name. script-name 可将脚本的函数和变量环境传递给当前的shell环境。
    source test.sh   # 或 . test.sh
    • 这两种方法的区别在于source.的兼容性。source支持所有Bash脚本,而.仅适用于Bash脚本。
  • 理解不同执行方式

    • 图1展示了source./script.sh之间的区别。
    • 图2展示了bash script.shsh script.sh之间的差异。
  • 2. Shell脚本后台运行

    在实际应用中,特别是在需要长时间运行脚本的情况下,将脚本后台执行可以节省资源,并允许继续使用终端。

  • 使用nohup

    • nohup可以将输出重定向到文件,并在后台运行脚本。
    nohup sh test.sh > out.txt &
    • out.txt 为输出日志文件。
  • 直接使用sh

    • 也可以直接使用sh命令将脚本后台运行并重定向输出。
    sh test.sh > & out.txt &
  • 3. 脚本后台执行的知识点
    功能 用途
    sh脚本 将脚本后台执行
    Ctrl + c 停止当前脚本任务
    Ctrl + z 暂停当前脚本任务
    bg 将当前脚本后台执行
    fg 将当前脚本前台执行
    • 使用`jobs`可以列出当前后台正在运行的任务。 ```bash [root@localhost scripts]# jobs [1]- 运行中 sh jobs.sh & [2]+ 运行中 sh jobs.sh & ```
    • 使用`fg`可以将后台任务调至前台执行。 ```bash [root@localhost scripts]# fg 1 sh jobs.sh ```
    • 使用`nohub`可以将程序后台运行。 ```bash nohup sh test.sh > out.txt & ```

    转载地址:http://fgvd.baihongyu.com/

    你可能感兴趣的文章
    NuttX 构建系统
    查看>>
    NutUI:京东风格的轻量级 Vue 组件库
    查看>>
    NutzCodeInsight 2.0.7 发布,为 nutz-sqltpl 提供友好的 ide 支持
    查看>>
    NutzWk 5.1.5 发布,Java 微服务分布式开发框架
    查看>>
    NUUO网络视频录像机 css_parser.php 任意文件读取漏洞复现
    查看>>
    NUUO网络视频录像机 upload.php 任意文件上传漏洞复现
    查看>>
    Nuxt Time 使用指南
    查看>>
    NuxtJS 接口转发详解:Nitro 的用法与注意事项
    查看>>
    NVDIMM原理与应用之四:基于pstore 和 ramoops保存Kernel panic日志
    查看>>
    NVelocity标签使用详解
    查看>>
    NVelocity标签设置缓存的解决方案
    查看>>
    Nvidia Cudatoolkit 与 Conda Cudatoolkit
    查看>>
    NVIDIA GPU 的状态信息输出,由 `nvidia-smi` 命令生成
    查看>>
    nvidia 各种卡
    查看>>
    Nvidia 系列显卡大解析 B100、A40、A100、A800、H100、H800、V100 该如何选择,各自的配置详细与架构详细介绍,分别运用于哪些项目场景
    查看>>
    NVIDIA-cuda-cudnn下载地址
    查看>>
    nvidia-htop 使用教程
    查看>>
    nvidia-smi 参数详解
    查看>>
    Nvidia驱动失效,采用官方的方法重装更快
    查看>>
    nvmw安装node-v4.0.0之后版本的临时解决办法
    查看>>