大家好我需要一个shell脚本,可以打开例如msfconsole,然后在其中键入命令,我做了一个非常基本的脚本但当msfconsole启动时它会停止...你能给我一些例子吗?
谢谢!
这是我制作的基本哑剧本:
#!/bin/bash
service postgresql start && sleep 4 && msfconsole && sleep 15 && quit
正如你所看到我首先启动postgresql,然后我启动msfconsole,当我尝试关闭它时,我不能,因为我不在shell中但是我已经进入了metasploit。
答案 0 :(得分:1)
如果希望脚本中的命令由msfconsole
读取,则需要将它们指向其标准输入;否则,它们只能由shell本身读取(等待msfconsole
在它继续之前退出)。
将一组文本重定向到给定命令的一种方法是使用heredoc:
#!/bin/bash
service postgresql start || exit
msfconsole <<EOF
sleep 15
quit
EOF
答案 1 :(得分:-1)
我不熟悉msfconsole,但是如果你执行它然后你得到输入命令的提示,那么我用来分区的下面方法可能是sdd和gdisk,可能适合你。
#!/bin/sh
(
# Delete current partition table
echo o # Delete partition table
echo Y # Confirm deletion
# Create Linux LVM partition
echo n # Create new partition
echo 3 # Partition number
echo # First Sector
echo # Last Sector
echo 8E00 # Set partition type: Linux LVM
# Write out partition table
echo w # Write out new partition table
echo Y # Confirm write
) | gdisk /dev/sdx
如果您需要""
所需的命令中有空格,例如:echo "ls -ltr"