博客
关于我
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/

    你可能感兴趣的文章
    numpy判断对应位置是否相等,all、any的使用
    查看>>
    Numpy如何使用np.umprod重写range函数中i的python
    查看>>
    numpy数组替换其中的值(如1替换为255)
    查看>>
    numpy数组索引-ChatGPT4o作答
    查看>>
    numpy绘制热力图
    查看>>
    numpy转PIL 报错TypeError: Cannot handle this data type
    查看>>
    NutzCodeInsight 2.0.7 发布,为 nutz-sqltpl 提供友好的 ide 支持
    查看>>
    NutzWk 5.1.5 发布,Java 微服务分布式开发框架
    查看>>
    NUUO网络视频录像机 css_parser.php 任意文件读取漏洞复现
    查看>>
    NVelocity标签使用详解
    查看>>
    Nvidia Cudatoolkit 与 Conda Cudatoolkit
    查看>>
    NVIDIA-cuda-cudnn下载地址
    查看>>
    nvidia-htop 使用教程
    查看>>
    nvidia-smi 参数详解
    查看>>
    oauth2-shiro 添加 redis 实现版本
    查看>>
    OAuth2.0_JWT令牌-生成令牌和校验令牌_Spring Security OAuth2.0认证授权---springcloud工作笔记148
    查看>>
    OAuth2.0_JWT令牌介绍_Spring Security OAuth2.0认证授权---springcloud工作笔记147
    查看>>
    OAuth2.0_介绍_Spring Security OAuth2.0认证授权---springcloud工作笔记137
    查看>>
    OAuth2.0_完善环境配置_把资源微服务客户端信息_授权码存入到数据库_Spring Security OAuth2.0认证授权---springcloud工作笔记149
    查看>>
    OAuth2.0_授权服务配置_Spring Security OAuth2.0认证授权---springcloud工作笔记140
    查看>>