Shell:脚本运行在客户端,在远程服务端执行操作
1、远程服务器命令行操作
# 变量初始化
remote_user="${远程服务端用户名}"
remote_passwd="${远程服务端密码}"
default_ip="${远程服务端IP}"
default_path_project="/work/share/project"
default_dir="Robotaxi_CYC"
target_dir="${default_dir}"
target_name="${remote_user}"
target_ip="${default_ip}"
(1)在远程服务器上执行创建文件夹命令
# 命令指令
remove_yes="-o StrictHostKeyChecking=no"
ssh_pass="sshpass -p ${remote_passwd}"
cmd_mkdir="mkdir -p ${default_path_project}/${target_dir}"
# 在远程服务器上执行创建文件夹命令
${ssh_pass} ssh ${remove_yes} ${target_name}@${target_ip} -t ${cmd_mkdir}
# 等价于->
sshpass -p idriver_bbox ssh -o StrictHostKeyChecking=no nvidia@192.168.1.100 -t mkdir -p /work/share/project/Robotaxi_CYC
(2)在远程服务器上执行多行命令
# 命令指令
remote_pw="echo ${remote_passwd} | sudo -S"
cmd_target="${remote_pw} chmod -R 777 ${default_path_project}/${target_dir}; ${remote_pw} rm -rf ${default_path_project}/${target_dir}/*"
# 在远程服务器上执行多行命令
${ssh_pass} ssh ${remove_yes} ${target_name}@${target_ip} -t ${cmd_target}
# 等价于->
sshpass -p idriver_bbox ssh -o StrictHostKeyChecking=no nvidia@192.168.1.100 -t echo idriver_bbox | sudo -S chmod -R 777 /work/share/project/Robotaxi_CYC; echo idriver_bbox | sudo -S rm -rf /work/share/project/Robotaxi_CYC/*
2、获取当前脚本的绝对路径
CURR_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd -P)"
获取pwd/../..路径
TOP_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"

浙公网安备 33010602011771号