如何编写bash脚本自动获取远程主机指定路径下最新目录内文件末尾内容
tailer.sh 脚本实现方案
直接用本地单脚本实现即可,无需在远程主机部署额外文件,和你手动执行的逻辑完全一致:
完整脚本内容
#!/bin/bash # 配置项,按需修改为你的实际参数 SSH_PORT="22" SSH_USER="你的远程用户名" SSH_HOST="你的远程主机IP/域名" REMOTE_BASE_PATH="/directory1/directory2" TARGET_FILE="file1" # 核心执行逻辑:一次性通过ssh执行所有远程命令 ssh -p "${SSH_PORT}" "${SSH_USER}@${SSH_HOST}" << 'EOF' cd "${REMOTE_BASE_PATH}" latest_dir=$(ls -td -- */ | head -n 1) cd "${latest_dir}" tail -n 1 "${TARGET_FILE}" EOF
使用方法
- 将上述内容保存为
tailer.sh - 给脚本添加执行权限:
chmod +x tailer.sh - 直接执行脚本即可拿到目标文件的最后一行内容:
./tailer.sh
注意事项
- 提前配置SSH免密登录可实现完全无交互一键执行,无需每次输入密码
- 所有配置项直接修改脚本开头的变量即可,无需改动核心逻辑
- 用here-doc(<<'EOF')的方式传递远程命令,不需要额外处理转义符,兼容性更好
内容的提问来源于stack exchange,提问作者Omar Montemayor
相关产品推荐
相关产品推荐

