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
你做了一个无限循环。选择一个解决方案(首选第一个)
- 不要使用
traceroute
和 nmap
作为函数名
- 使用
/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
上面修改后的代码可以工作,但可以进行一些格式化以使其看起来更好一些。
几天来我刚开始做一些 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
你做了一个无限循环。选择一个解决方案(首选第一个)
- 不要使用
traceroute
和nmap
作为函数名 - 使用
/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
上面修改后的代码可以工作,但可以进行一些格式化以使其看起来更好一些。