bash 脚本中的新手

Noobie in bash scripting

几天来我刚开始做一些 bash 脚本 当终端中的 运行 这个 bash 脚本时,我没有得到任何输出 请在这里纠正我:

代码:

#!/bin/bash
echo "Usage:"
echo -n "Please enter t/n"
read o
echo -n "IP"
read ip
traceroute () {
  traceroute $ip
}
nmap () {
  nmap -T4 -A -v $ip
}
if [[ "$o" = "t" ]]
then
  traceroute
elif [[ "$o" = "n" ]]
then
  nmap
else
  echo "Usage:"
  echo "Please enter t/n"
  exit 1
fi

你做了一个无限循环。选择一个解决方案(首选第一个)

  • 不要使用 traceroutenmap 作为函数名
  • 使用/usr/bin/traceroute/usr/bin/nmap
  • 的完整路径

'read ip' 之后的位不是必需的,因为它实际上什么都不做(据我所知)。

#!/bin/bash
echo "Usage:"
echo -n "Please enter t/n"
read o
echo -n "IP"
read ip
if [[ "$o" = "t" ]]
then
  traceroute $ip
elif [[ "$o" = "n" ]]
then
  nmap -T4 -A -v $ip
else
  echo "Usage:"
  echo "Please enter t/n"
  exit 1
fi

上面修改后的代码可以工作,但可以进行一些格式化以使其看起来更好一些。