我有Linux脚本和两台不同的Solaris机器,一台是ISO-8859-1
UTF-8
当我用UTF-8
运行它时,它工作正常,但在 ISO 上我收到一个错误:
我需要如何执行它。
如果我将我的 scrit 复制到 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.GetData(Boolean
isInventory, String subject, String executeCommand)
要么您在脚本中编码了特定字符(通常在注释:-D中),要么您在计算机上没有相同的权限