Работаю с системой линукс.
У меня много разных папок, в каждой папке есть файл bash (файл bash одинаков в каждой папке). Этот файл bash запускает простые команды, такие как загрузка среды, создание файлов и папок, запуск двоичных приложений (например, code1)
Из этих папок есть файл python, в котором я хочу запустить baseFolder/myPython.py «folder1/myBash» folder2/myBash. . . " папка N/myBash
ПРОБЛЕМА: когда я запускаю скрипт python (например, code2), файл bash не выполняется внутри папки, он выполняется, поскольку файл bash находится в baseFoldes, поэтому он создает папку, файлы и т. д. в baseFolder. Я не понимаю, почему.
Я использовал пакеты os и subprocess:
os.system('shell command')
subprocess.run('shell command')
subprocess.call('shell command')
код1
#!/bin/bash
mkdir myNewFolder
touch myNewFile
код2
#!/usr/bin/env python3
import os
import subprocess
... other code ...
subprocess.run(fullPathFolder+"/myBash")
Or
subprocess.call(fullPathFolder+"/myBash")
Or
os.system(fullPathFolder+"/myBash")
baseFolder/myPython.py
" myNewFolder <<<<<<<<<<?????
" myNewFile <<<<<<<<<<?????
" folder1/myBash
" folder2/myBash
.
.
.
" folderN/myBash