'dan bir bash komut dosyası çağrılırken hata alıyorum, bir python komut dosyasının içinde başka bir python betiği içinde çağrılan bir bash komut dosyasını çağırmam gereken bir durum var."Sözdizimi hatası: Sonlandırılmamış tırnak işareti" hatası, Python
download-output-files.py:
#!/usr/bin/env python
import os
import sys
for i in node_path:
cmd="python watcher.py "+i
os.system(cmd) ##calling another python script
watcher.py:
#!/usr/bin/env python
import os
import time
if 'finish' in child:
print "finish found"
cmd="./copy_output_file.sh "+node
os.system(cmd) ##Calling shell script here
copy_output_file.sh:
#!/bin/bash
filepath=$1
cp ff /home/likewise-open/TALENTICA-ALL/mayankp/kazoo/$filepath
koşuyorum indirme-çıktı-files .py, watcher.py numaralı telefonu arar. bu da copy_output_file.sh çağırır ve aşağıdaki I karşıya hatadır: Python kabuğunda aynı komutları çalıştırdığınızda
[email protected]:~/kazoo$ python download-output-files.py
finish found
sh: 1: Syntax error: Unterminated quoted string
, başarıyla bash komut dosyasını çalıştırır. Neyi kaçırıyorum?
Kabuk betiğindeki seçilmemiş değişkenlerden kaynaklanıyorsa şaşırmam. Ama * neden * Python ile kolayca yapılabilecek bir şey için bir kabuk betiği kullanıyorsun ?! – Biffen
Bu soru için çok fazla kod gibi görünüyor. Minimal bir örneğe göre kırpabilirseniz yakın oyumu geri çekerim. –
@ChrisMartin, kodumu en az düzeyde tutarak düzenledim. Şimdi yardım edebilir misiniz? –