2017-06-17 8 views
1

私の目的は、echoコマンドを使用してファイルを作成し、それをリモートサーバーに転送することですが、echoコマンドは機能しません。ここで新しい行の私のechoコマンドが動作していません

は、エコーコマンドの私のコードです:

import os 
os.system("echo 'listen {0} '\n' Documentroot '{1}/{2}' '\n' <Directory '{1}'> \n Required all granted' '\n' </Directory>' > /root/Desktop/{3}".format(user_port , user_directory , user_folder , file_name)) 
+0

それは動作しますか? – choroba

答えて

0

システム全体のエコーは通常、バックスラッシュシーケンスを解釈するためのオプション-e必要があります:/bin/echo -e "hello\nworld"を。

echoでシェルでこれを試しても、オプション-eを使わなくても動作しますが、pythonスクリプトはシェル全体をエコーする代わりにシェル組み込み関数を呼び出すだけです。両方とも、さまざまな選択肢と行動をとることができます。

0

Pythonを使用して印刷してから、必要な場所に配管してみませんか?あなたは、コマンドラインでそれをしようとした場合

スクリプト

print("""listen {0} 
Documentroot '{1}/{2}' 
... 
""".format(...)) 

コマンド

python script.py > /root/Desktop/output 
関連する問題