shell 脚本自动循环执行python程序

1. 创建脚本文件

# 在当前路径的src文件夹中创建my_script.sh的文件
(tensorflow2.4)lls@eclab:~/Py_project/Uncertainty/ENViSEC-main$ touch ./src/my_script.sh

2. 编写脚本内容

# 在当前路径的src文件夹中创建my_script.sh的文件
(tensorflow2.4)lls@eclab:~/Py_project/Uncertainty/ENViSEC-main$ vim ./src/my_script.sh

将代码1或代码2的内容添加到脚本文件中

代码1

适用于程序执行的输入,可以循环执行命令

#!/bin/bash
# 读取不同的学习率
lrs=("0.001" "0.002")
# 循环执行命令
for lr in "${lrs[@]}";do
	python ./src/run.py --model DNN --data data/normalized/EdgeIIoT_normalized.csv --epoch 1 --lr "$lr" --method EDL --ood False --ensemble True --ks False >> ./src/output.txt
done
# 解释说明
# python ./src/run.py --model DNN --data data/normalized/EdgeIIoT_normalized.csv --epoch 1 --lr "$lr" --method EDL --ood False --ensemble True --ks False >> ./src/output.txt 
这段代码的作用是将输出保存到当前路径下的src文件夹下的output.txt中。txt文件可以用Typora打开,基本上不用调整格式。当保存到txt文件中时,xshell中将不再输出相应的输出

代码2

适用于程序执行的输入(多个输入参数同时不同时)

#!/bin/bash
#定义要运行的命令
commands=(
	"python ./src/run.py --model DNN --data data/normalized/EdgeIIoT_normalized.csv --epoch 1 --lr 0.001 --method EDL --ood False --ensemble True --ks False"
	"python ./src/run.py --model DNN --data data/normalized/EdgeIIoT_normalized.csv --epoch 1 --lr 0.005 --method EDL --ood False --ensemble True --ks False"
	)
#循环运行命令
for cmd in "${commands[@]}"; do
	echo "执行程序,参数:"$cmd"
	eval "$cmd"
done

3. 执行bash 脚本

下面展示两种方式执行bash文件

3.1 方法1

(tensorflow2.4)lls@eclab:~/Py_project/Uncertainty/ENViSEC-main$ sh ./src/my_script.sh

或者

(tensorflow2.4)lls@eclab:~/Py_project/Uncertainty/ENViSEC-main$ bash ./src/my_script.sh

3.2 方法2: 为脚本文件设置可执行权限

第一步:执行bash脚本的第二种方法是设置可执行权限
(tensorflow2.4)lls@eclab:~/Py_project/Uncertainty/ENViSEC-main$ chmod +x ./src/my_script.sh
第二步:执行脚本
(tensorflow2.4)lls@eclab:~/Py_project/Uncertainty/ENViSEC-main$ ./src/my_script.sh

参考博客

  1. 如何让shell脚本变成可执行文件
  2. 如何使用Typora快速高效的写Csdn博客
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值