c# sshnet控制linux 使用unzip的一些问题

无法使用unzip 解压缩 linux文件夹下的zip文件

于是想在win下生成一个 shell 文件传到linux 下运行,结果这个sh文件在linux  运行时出错,同样的文件在linux下生成就可以执行.

看来win的下的文件格式sh后缀的不能再linux下运行,win下的编码方式选的utf8 ,按到linux下的也是utf8  .没法运行 这个没具体试.

难道要使用vi 文件名 编辑  组成的命令组合的方式,那就复杂了.......

string comm = "chmod u+x /data/service/zyzsCommon/data/" + filename + ".sh"; //改变文件读写权限
string resu = datahelper.RunCommand(comm);
string com2 = "dos2unix /data/service/zyzsCommon/data/"+filename + ".sh";    //  win文件转linux文件格式  
string resu2 = datahelper.RunCommand(com2);

转完文件格式没问题了,win下生成的sh 可以在linux 运行了.

可是 远程c#端还是 不行.....跟直接在linux 上执行unzip 问题一样    

起卦了吧

chmod u+x 没问题.那两个就不行,咋整

最终解决办法

不管是sh脚本的办法还是直接unzip 解压的方式都是没问题的.

问题就只sshnet 库运行unzip 时 程序运行到waiany 异步等待返回消息时 跳飞了,卡住不动了,扰乱了正常的思维.以为是版本库不健全

d:homemanagenumber
enci.sshnetsshcommand.cs

给注释掉吧.不影响使用..   后期发现不能注释掉,否则解压时会出现只解压一个文件问题,可能是解压一个文件之后返回,链接断开了,linux端发现用户退出后停止了解压, 后来取消注释问题没再出现...

unzip 不指定 解压到的目录,会解压到你当前登录账号的 ~根目录,  不要出现错觉 还在你crt 客户端 的那个路径里找哈哈.    unzip 加上要解压文件的全路径 ,也不会解压到 这个全路径的文件里.这里容易出现一定的误解. 

原文地址:https://www.cnblogs.com/zuochanzi/p/9007343.html