![PLINK 执行:echo -e "%UNIXPW%\n" ^| sudo -S nginx -t -c,在一个上运行正常,在另一个上运行失败](https://linux22.com/image/1056041/PLINK%20%E6%89%A7%E8%A1%8C%EF%BC%9Aecho%20-e%20%22%25UNIXPW%25%5Cn%22%20%5E%7C%20sudo%20-S%20nginx%20-t%20-c%EF%BC%8C%E5%9C%A8%E4%B8%80%E4%B8%AA%E4%B8%8A%E8%BF%90%E8%A1%8C%E6%AD%A3%E5%B8%B8%EF%BC%8C%E5%9C%A8%E5%8F%A6%E4%B8%80%E4%B8%AA%E4%B8%8A%E8%BF%90%E8%A1%8C%E5%A4%B1%E8%B4%A5.png)
我的批处理文件在 Ubuntu 16.04 LTS 中运行 PLINK 脚本,该脚本在我自己的 VM/Ubuntu 上正常运行。
在不同的 VM/ubuntu 16.04 LTS 上运行时,相同的命令会失败。
echo -e "%UNIXPW%\n" ^| sudo -S nginx -t -c /home/%UNIXUSR%/Documents/%FILENAME%%EXT% ^&^> /home/%UNIXUSR%/Documents/%FILENAME%Result%TXTEXT% > "%FILEPATH%%FILENAME%%SHEXT%"
两个 Ubuntu 都只有 1 个用户,并且 PLINK 会话正在使用该用户。
什么原因会导致这种情况?我该如何修复它才能使其在两者上都能正常运行?
答案1
%UNIXPW% 中的密码包含一些特殊字符,导致此操作失败。
将密码更改为字母数字使其在所有 ubuntu 机器上运行!