请教如何在Bash里调用ssh远程执行命令

请教如何在Bash里调用ssh远程执行命令,第1张

直接将所有可执行的各种命令写在 bash 的 SHELL 脚本文件中即可。当然了,至于说该 SHELL 脚本文件是否可以执行?并不是说只要你的SHELL脚本文件中的命令都是可执行的,就能够正确执行的。必须要使用命令:chmod +x my_shell.txt 将其修改成可执行权限,且 SHELL 脚本文件中的每一个命令都是拥有 x 权限(可执行权限)的,才能够在命令行状态 $ 下面正常执行。

这是SSH Secure Shell Client多年未解决的短板,要求客户端和服务器端都要‘UTF-8’编码,Windows中文版的编码是非UTF-8。zh_CN.UTF-8是UTF编码的中文语言环境。

Windows使用的是GB2312编码,大多数linux系统支持的是UTF-8编码,而远程登陆时使用的是本地编码,所以会出现乱码的问题;现有几种解决方案:

方案一:修改linux服务器的环境变量

使用linux,在用户根目录下有一个.bash_profile配置文件,该配置只对当前用户有效.若对所有的用户有效,修改/etc/profile文件

使用ls -a命令可以查看到该文件.使用vi编辑器打开该文件后,在其中加入

LANG=zh_CN.GB2312

export LANG

即可正常显示中文.更改 .bash_profile 配置文件后,该文件内容如下:( 我使用的是这个方法 !)

# .bash_profile

# Get the aliases and functions

if [ -f ~/.bashrc ] then

. ~/.bashrc

fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

LANG=zh_CN.GB2312

export PATH

export LANG

unset USERNAME

方案二:或使用其他远程登陆软件,并修改配置,将字符编码设置为UTF-8。

PS:远程登陆软件 命令行界面putty,Cterm,SecureCRT,含FTP功能的有Filezilla,Secure Shell Client,图形界面的有Xming,XShell,Xmanager等

下面以Putty和SecureCRT为例。

修改SecureCRT设置:选项(Options)->会话选项(Session Options)->外观(Appearance)->字符(Character),选择UTF-8。

putty选择配置窗口左边的Windows—— Translation,在右边的 Received data assumed to be in which character set 下拉列表中选择“UTF-8”


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/8126251.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存