无法在远程计算机上执行命令

时间:2012-11-23 13:30:49

标签: c# linux

我有Linux脚本和两台不同的Solaris计算机,一台是ISO-8859-1,另一台是UTF-8

当我使用UTF-8运行它时效果很好但是使用ISO我会收到错误:

我如何执行它。

如果我把我的scrit coppy到solaris有iso并在那里执行它工作正常没有错误

我的执行代码:

using (var sftp = new Sftp())
{
  try
    {
      sftp.Connect(target.FullyQualifiedDomainName);
      sftp.Authenticate(target.UserName, crypto.TwoWayDecrypt(target.Password));
      sftp.Put(AssemblyDirectory + "\\Scripts\\solaris_perf_data.sh", "perf_data.sh", CopyMode.Copy);
    }
  finally
    {
      sftp.Close();
    }
}

ssh.Execute(chModCommand);

//error here 
result =   ssh.Execute(executeCommand).ToString();        

我得到的错误是:

copying script file and executing script on host Solaris 10 region settings 
(france). Error Message: System.IO.IOException: ./perf_data.sh[5]: 
TotSize==+utilisés,: numéro incorrect at Dart.Ssh.Ssh.Execute(String command, 
Object state) at   Virtustream.CAS.DataCollector.Library.DataCollectors.SolarisDataCollector.GetDat‌​a(Boolean 
isInventory, String subject, String executeCommand)

1 个答案:

答案 0 :(得分:0)

要么在脚本中编码特定字符(通常在注释中:-D),要么您的计算机上没有相同的权限