我有一组 bash 脚本,我想将其安装到远程 Linux 系统。我创建了一个批处理文件,使用 plink 和 putty 在 Windows 主机系统上运行,以将文件传输到 Linux 系统。但 Plink 无法运行安装脚本,该脚本实际上将脚本安排到 crontab 中,它给出“权限被拒绝错误”,因为 chmod 命令未运行。有什么办法可以解决这个问题吗?用于将文件发送到 Linux 机器的命令
"c:\Program Files (x86)\PuTTY\pscp" -pw passwd *.sh [email protected]:/mnt/capture/logs/
用于运行脚本的命令
"c:\Program Files (x86)\PuTTY\plink.exe" -ssh -pw passwd -noagent [email protected] /mnt/capture/logs/script.sh
script.sh文件如下
#!/bin/bash
sudo /mnt/md0/capture/logs/install.sh
plink 命令给出 script.sh:权限被拒绝。
答案1
在调用 chmod 之前先调用它:
plink -ssh -pw password -noagent [email protected] "sh -c 'cd /mnt/capture/logs && chmod a+x *.sh && ./script.sh'"
如果您已在 Windows 文本编辑器中编辑了脚本,请确保它们以 Unix 文件格式保存,这样您就不会出现 CR-NL 行尾。
另外,您的脚本使用sudo
-- 用户 nethawk 是否列在 sudoers 文件中?您是否需要输入密码?