export LANG=zh_CN.utf8 export LC_ALL=zh_CN.utf8 #改变工作目录到当前脚本所在路径 if [[ "$0" =~ / ]]; then cd "${0%/*}"; fi mkdir -p "/opt/matrix/logs" if [[ "$#" == "0" ]]; then echo " usage: #执行本地命令 ro action=local cmds=<命令> #执行远程命令 ro action=remote host= username=<用户> password=<密码> cmds=<命令> #从远程下载文件 ro action=fget host= username=<用户> password=<密码> local=<本地文件路径> remote=<远程文件路径> #上传文件到远程 ro action=fput host= username=<用户> password=<密码> local=<本地文件路径> remote=<远程文件路径> #Base64编码 ro b64 注意事项: 命令:命令尽量使用单引号包括 密码:需要BASE64编码,如果使用明文密码,那么需要在密码前增加一个等于号并使用单引号包括,例如: ro action=remote host=127.0.0.1 username=root password='=123456' cmds='pwd;ls' Base64编码可以通过执行 ro b64 命令,输入明文,转换后得到 " export ret=1 elif [[ "$1" = "b64" ]]; then echo -n 输入: python -c " import base64; import sys; s = sys.stdin.readline().strip() try: if s[0] == '=': print(s[1:]) else: if sys.version_info.major == 3: s = bytes(s, encoding='utf8') s = base64.b64encode(s) if sys.version_info.major == 3: s = str(s, encoding='utf8') print(s) except TypeError as e: #print(e) print(s) " export ret=$? else python ro.py TRACE=SIPR logdir="/opt/matrix/logs" "$@" export ret=$? fi exit $ret #见见之时 见非是见 见犹离见 见不能及