2017-08-07 4 views
0

私は文字列変数にユーザー入力を取得し、sshとC#を使用してLinuxサーバーに送信しようとしています。 私はssh.netライブラリを使用していますが、変数値をサーバ上のテキストファイルに渡したいのですが、echoコマンドと一緒に送ることはできません。 他の方法はありますか?ここでC# - ssh上でlinuxコマンドとして変数を送信

はコードです:

using (var client = new SshClient(host, user, pass)) 
{ 
client.Connect(); 
string message = Console.ReadLine(); 
var mycommand = client.RunCommand("echo message >> file.txt"); 
client.Disconnect(); 
} 

答えて

1

あなたは現在の文字列として "メッセージ" を渡しています。

using (var client = new SshClient(host, user, pass)) 
{ 
client.Connect(); 
string message = Console.ReadLine(); 
var mycommand = client.RunCommand("echo " + message + " >> file.txt"); 
client.Disconnect(); 
} 
+0

文字列をエスケープする必要があります。 "echo \" "message +" \ ">> file.txt"を使用する必要があります。 – Noren

+1

補間は全てをきれいにします:$ "echo \" {message} \ ">> file.txt" – TanguyB

関連する問題