洗礼
上午开完会,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/bashecho "Hello,World!"ls /opt/program/python/process
2.接收参数
#!/bin/bashecho "第一个参数为:$1"
echo "第二个参数为:$2"
3.举个例子
#!/bin/bash# 检查是否提供了参数
if [ $# -eq 0 ]; thenecho "Usage: $0 <darshan-logfile>"exit 1elif [ $# -gt 1 ]; thenecho "The number of parameters is greater than 1."else# 使用第一个参数#echo "The provided parameter is: $1"(darshan-parser "$1" > "$1.txt")
fi
使用脚本的优势
-
自动化任务: 脚本使得可以自动执行一系列命令和操作,无需手动干预。这对于定期执行任务、批处理处理文件、自动备份等工作非常有用。
-
提高效率: 通过将一系列命令封装到脚本中,你可以通过简单地运行脚本来完成一项复杂的任务,提高了效率。
-
可重复性: 脚本确保任务以一致的方式执行,减少了人为错误的风险,并提高了任务的可重复性。
-
简化复杂任务: 对于涉及多个步骤、条件和变量的复杂任务,脚本提供了一种结构化和可管理的方式来处理。
-
批量处理: 脚本可以轻松处理大量数据、文件、目录等,实现批量处理和操作。
-
日志和错误处理: 通过在脚本中实现日志记录和错误处理,你可以更容易地诊断和修复问题。
-
跨平台兼容性: 脚本通常是跨平台的,只要目标系统支持相应的解释器(例如,Bash、Python、Perl等),脚本就可以在不同的操作系统上运行。
-
版本控制: 脚本可以被纳入版本控制系统,使得对脚本的修改、更新和回滚更加方便。
-
简化部署: 脚本可用于自动化应用程序和系统的部署,确保环境的一致性。