Как заставить программу производить команду к командной строке человечности так же, как если бы я ввел ее

У меня есть программа dbot, который работает в командной строке человечности. Если из его каталога, названного dbot, я ввожу в командную строку с моей клавиатуры "./dbot.sh какую-либо команду", это работает и делает то, что я хочу.

Таким образом, это работает ~/dbot$./dbot.sh anycommand

Я - новичок и записал программу python 3 tragic.py, который находится в том же каталоге, названном dbot.

Если из командной строки человечности я выполняю tragic.py в фоновом режиме ~/dbot$ python3 tragic.py и затем если я копирую и вставляю./dbot.sh anycommand затем, это работает, и dbot делает то, что я хочу. Это должно быть в фоновом режиме, или команда не будет работать при вставке так я использую и.

Однако я хочу, чтобы моя программа Python tragic.py распечатала на командную строку./dbot.sh anycommand так, чтобы команда была дана к dbot так же, как если бы я ввел его или вставил его. Однако это не работает или в фоновом режиме или передний план.

Я попытался использовать нормальный оператор печати и sys.stdout.write () и с и с sys.stdout.flush (), но без удачи

Как я могу заставить dbot отвечать на команду, распечатанную tragic.py в командной строке человечности. Я не понимаю, почему, когда я ввожу его или вставляю его затем, это работает, но не, когда tragic.py печатает его или производит его с sys.stdout.write

0
задан 17 March 2018 в 19:03

1 ответ

Вы всегда можете использовать xargs, т. Е.

echo '-l' | xargs ls

эффективно выполнят ls -l. Так что в вашем случае это должно быть что-то вроде ./tragic.py | xargs ./dbot.sh, то есть вывод команды ./tragic.py будет использоваться в качестве аргумента ./dbot.sh

0
ответ дан 30 October 2019 в 05:49

Другие вопросы по тегам:

Похожие вопросы: