shell脚本中的nmap:一些问题

1 command-line bash scripts nmap

我决定为基本的 nmap 扫描制作一个 shell 脚本,所以我这样做了:

#!/bin/bash

sudo apt-get install nmap 

printf "enter the name of site to do basic scan on >>>"

read NAME

nmap $NAME

echo "Do you wish to do Software Version scan?"
select yn in "Yes" "No"; do
    case $yn in
        Yes ) goto 17; break;;
        No ) exit;;

nmap $NAME -sV

echo "Do you wish to do OS scan?"
select yn in "Yes" "No"; do
    case $yn in
        Yes ) goto 25; break;;
        No ) exit;;

nmap $NAME -O
Run Code Online (Sandbox Code Playgroud)

但输出是:

Nmap done: 1 IP address (1 host up) scanned in 109.97 seconds
Do you wish to do Software Version scan?
./nmap-basic.sh: line 17: syntax error near unexpected token `$NAME'
./nmap-basic.sh: line 17: `nmap $NAME -sV'
Run Code Online (Sandbox Code Playgroud)

任何解决方案?

cho*_*oba 5

case在 bash 中应该以 结尾esacselect应该以done. 我在您的脚本中没有看到这些关键字。

select NAME [in WORDS ... ;] do COMMANDS; done
case WORD in [PATTERN [| PATTERN]...) COMMANDS ;;]... esac
Run Code Online (Sandbox Code Playgroud)