1.免交互自动化脚本 //SSH免交互登录方法
(1)expect免交互
sudo apt-get install expect
vi expect.sh //内容如下:
#!/usr/bin/expect
set ip 192.168.88.190
set user test
set pass "123456"
spawn ssh $user@$ip
expect "password:" {send "$pass\r"}
expect "$user@*" {send "df -h\r"}
expect "$user@*" {send "exit\r"}
expect eof
(2)sshpass免交互
sudo apt-get install sshpass
# 免密ssh远程
sshpass -p '123456' ssh -p 22 test@192.168.88.190
# 免密ssh远程,并执行shell语句
sshpass -p '123456' ssh -p 22 test@192.168.88.190 "ls -trl"
# 免密scp拉取文件到本地
sshpass -p '123456' scp -P 22 test@192.168.88.190:/opt/file.txt /tmp/
# 免密scp传输文件
sshpass -p '123456' scp -P 22 /tmp/file.txt test@192.168.88.190:/opt/
2.多终端开启
终端将一闪而过,为避免其一闪而过可以进行如下设置:
在terminal点右键,选择Profiles->Profile Preferences然后找到Title and Command,里面 有一项When command exits,后面选择为Hold the terminal open
例子:gnome-terminal --tab --title="test" -- bash -c --command="pwd.exec bash"
3.EOF用法(免交互输入) //输入文本ls -trl pwd
cat << EOF
ls -trl
pwd
EOF
4.脚本后台运行
nohup : 结果默认会输出到nohup.out;使用Ctrl + C发送SIGINT信号,程序关闭;关闭session发送SIGHUP信号,程序免疫
& : 结果会输出到终端; 使用Ctrl + C发送SIGINT信号,程序免疫; 关闭session发送SIGHUP信号,程序关闭
nohup & : 同时免疫SIGINT和SIGHUP信号
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App