bat脚本转shell脚本

Python自动运行bat脚本

call conda activate pt
call python PPFLU-lamb0/Lion/cifar_efficientnet/train_cifar100.py PPFLU-lamb0/Lion/cifar_efficientnet
call conda deactivate
ping -n 240 localhost>nul
shutdown -s -t 240

Python自动运行Shell脚本

#!/bin/bash

source ~/anaconda3/etc/profile.d/conda.sh

conda activate pt
python PPFLU-lamb0/Lion/cifar_efficientnet/train_cifar100.py PPFLU-lamb0/Lion/cifar_efficientnet
conda deactivate
sleep 240s

sleep 240s
shutdown -P now

转换中遇到两个问题。

问题一:CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'.

解决方法:

#!/bin/bash

source ~/anaconda3/etc/profile.d/conda.sh

问题二:conda: error: argument command: invalid choice: 'deactivate\r' (choose from 'clean', 'compare', 'config', 'create', 'info', 'init', 'install', 'list', 'package', 'remove', 'uninstall', 'rename', 'run', 'search', 'update', 'upgrade', 'notices')
sleep: invalid time interval ‘240s\r’

解决方法:

安装dos2unix

apt install dos2unix

消除'\r'

dos2unix run_cifar.sh

bat脚本跳转命令

goto over
......
:over

shell脚本通过while循环实现跳转命令

while false
do
......
done

你可能感兴趣的:(Ubuntu,python,开发语言)