脚本接收参数,执行shell指令

2024-01-09 09:56:03

洗礼

上午开完会,5个小时内丧失思考行动能力,10个小时内不敢说话,深刻把握会议精神,反省自己。因为经常用到脚本执行任务,所以记录一下一些常用的脚本接收参数,执行shell指令。

python脚本

Python脚本是一段使用Python编写的可执行代码。它是一系列Python语句和表达式的集合,可以按顺序执行,完成特定的任务或实现特定的功能。Python脚本可以包含变量定义、函数定义、条件语句、循环、文件操作、数据处理、网络通信等各种Python语法和功能。脚本通常以.py为文件扩展名,并且可以在Python解释器或命令行中运行。Python脚本的优点之一是它的简洁性和可读性。Python的语法设计旨在提供易于理解和编写的代码结构,使得Python脚本易于编写、调试和维护。使用Python脚本,你可以完成各种任务,包括数据处理和分析、自动化任务、Web开发、机器学习、科学计算等。你可以使用文本编辑器编写Python脚本,然后使用Python解释器执行它们。

1.执行shell命令

执行一条ls指令:

import subprocess

# 要执行的cp命令
command = "ls"

# 使用subprocess模块执行cp命令
result = subprocess.run(command, shell=True, capture_output=True, text=True)

# 打印命令的输出结果
print("Output:", result.stdout)

# 打印命令的返回码
print("Return Code:", result.returncode)

在这里插入图片描述

2.接收一个参数

import sys

# 检查是否至少有两个参数(脚本名称和至少一个用户提供的参数)
if len(sys.argv) == 2:
    # 第一个参数是脚本的名称,所以真正的参数从第二个开始
    given_argument = sys.argv[1]

    print("Given Argument:", given_argument)
else:
    print("Please check the argument numbers.")

在这里插入图片描述

shell脚本

Shell脚本是一种用于编写和执行命令序列的脚本语言。它是在操作系统的命令行界面(也称为shell)中运行的一系列命令的集合。Shell脚本使用的是特定的Shell语言,例如Bash(Bourne Again Shell)、sh(Bourne Shell)、csh(C Shell)等。这些Shell语言提供了一组命令、控制结构、变量和函数,用于编写脚本以完成特定的任务。Shell脚本通常以纯文本文件的形式存在,并以.sh为文件扩展名。可以通过在命令行中执行脚本文件来运行Shell脚本。Shell脚本可以用于自动化任务、批处理、系统管理、数据处理、文件操作等各种任务。它们允许用户以脚本的形式将一系列命令和操作组合在一起,并可以根据需要进行参数化和定制。

1.执行shell指令

#!/bin/bash

echo "Hello,World!"

ls /opt/program/python/process

在这里插入图片描述

2.接收参数

#!/bin/bash

echo "第一个参数为:$1"
echo "第二个参数为:$2"

在这里插入图片描述

3.举个例子

#!/bin/bash

# 检查是否提供了参数
if [ $# -eq 0 ]; then
    echo "Usage: $0 <darshan-logfile>"
    exit 1

elif [ $# -gt 1 ]; then
    echo "The number of parameters is greater than 1."

else
    # 使用第一个参数
    #echo "The provided parameter is: $1"
    (darshan-parser "$1" > "$1.txt")
fi

在这里插入图片描述

使用脚本的优势

  • 自动化任务: 脚本使得可以自动执行一系列命令和操作,无需手动干预。这对于定期执行任务、批处理处理文件、自动备份等工作非常有用。

  • 提高效率: 通过将一系列命令封装到脚本中,你可以通过简单地运行脚本来完成一项复杂的任务,提高了效率。

  • 可重复性: 脚本确保任务以一致的方式执行,减少了人为错误的风险,并提高了任务的可重复性。

  • 简化复杂任务: 对于涉及多个步骤、条件和变量的复杂任务,脚本提供了一种结构化和可管理的方式来处理。

  • 批量处理: 脚本可以轻松处理大量数据、文件、目录等,实现批量处理和操作。

  • 日志和错误处理: 通过在脚本中实现日志记录和错误处理,你可以更容易地诊断和修复问题。

  • 跨平台兼容性: 脚本通常是跨平台的,只要目标系统支持相应的解释器(例如,Bash、Python、Perl等),脚本就可以在不同的操作系统上运行。

  • 版本控制: 脚本可以被纳入版本控制系统,使得对脚本的修改、更新和回滚更加方便。

  • 简化部署: 脚本可用于自动化应用程序和系统的部署,确保环境的一致性。

文章来源:https://blog.csdn.net/weixin_43912621/article/details/135394206
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。