bash-逐行获取-由管道导致的错误?
我试图读取文件servers.txt并ping其中的每一行。 它包含每行上的服务器bash-逐行获取-由管道导致的错误?,bash,Bash,我试图读取文件servers.txt并ping其中的每一行。 它包含每行上的服务器 #!/bin/bash clear output="pingtest.txt" for line in < cat "servers.txt" do ping $line >> "$output" 2>&1 done #/bin/bash 清楚的 output=“pingtest.txt” 对于>“$output”2>&1 完成 但是这个脚本根本不起作用,因为“A for循环
#!/bin/bash
clear
output="pingtest.txt"
for line in < cat "servers.txt"
do
ping $line >> "$output" 2>&1
done
#/bin/bash
清楚的
output=“pingtest.txt”
对于>“$output”2>&1
完成
但是这个脚本根本不起作用,因为“A for循环实际上是位置参数。它不从标准输入读取<代码>读取从标准输入读取 你想要
while read line; do
…
done < "servers.txt"
读行时;做
…
完成<“servers.txt”
这是BASH常见问题解答。A for循环基本上是位置参数。它不从标准输入读取<代码>读取从标准输入读取 你想要
while read line; do
…
done < "servers.txt"
读行时;做
…
完成<“servers.txt”
这是BASH常见问题解答。A for循环基本上是位置参数。它不从标准输入读取<代码>读取从标准输入读取 你想要
while read line; do
…
done < "servers.txt"
读行时;做
…
完成<“servers.txt”
这是BASH常见问题解答。A for循环基本上是位置参数。它不从标准输入读取<代码>读取从标准输入读取 你想要
while read line; do
…
done < "servers.txt"
读行时;做
…
完成<“servers.txt”
这是BASH常见问题解答。如果您想坚持使用for循环,可以尝试以下方法:
#!/bin/bash
clear
output="pingtest.txt"
for line in `cat servers.txt`
do
ping -c 1 -W 1 ${line} >> ${output} 2>&1
done
此外,您还需要为ping命令提供计数和超时
c:是您希望ping服务器的次数
W:是等待服务器响应的时间量如果您想坚持使用for循环,可以尝试以下方法:
#!/bin/bash
clear
output="pingtest.txt"
for line in `cat servers.txt`
do
ping -c 1 -W 1 ${line} >> ${output} 2>&1
done
此外,您还需要为ping命令提供计数和超时
c:是您希望ping服务器的次数
W:是等待服务器响应的时间量如果您想坚持使用for循环,可以尝试以下方法:
#!/bin/bash
clear
output="pingtest.txt"
for line in `cat servers.txt`
do
ping -c 1 -W 1 ${line} >> ${output} 2>&1
done
此外,您还需要为ping命令提供计数和超时
c:是您希望ping服务器的次数
W:是等待服务器响应的时间量如果您想坚持使用for循环,可以尝试以下方法:
#!/bin/bash
clear
output="pingtest.txt"
for line in `cat servers.txt`
do
ping -c 1 -W 1 ${line} >> ${output} 2>&1
done
此外,您还需要为ping命令提供计数和超时
c:是您希望ping服务器的次数
W:是等待服务器响应的时间量一般提示:检查shell代码通常会有帮助。@mklement0该页面很棒!。我将为eclipse开发一个插件,将它与ShellEd集成。另一件事是浪费我的时间。谢谢大家!@好主意。当你这么做的时候,来一个很棒的文本包怎么样@更好的主意,更容易。谢谢@mklement0我正要重新发明轮子。一般提示:在中检查shell代码通常会有所帮助。@mklement0该页面很棒!。我将为eclipse开发一个插件,将它与ShellEd集成。另一件事是浪费我的时间。谢谢大家!@好主意。当你这么做的时候,来一个很棒的文本包怎么样@更好的主意,更容易。谢谢@mklement0我正要重新发明轮子。一般提示:在中检查shell代码通常会有所帮助。@mklement0该页面很棒!。我将为eclipse开发一个插件,将它与ShellEd集成。另一件事是浪费我的时间。谢谢大家!@好主意。当你这么做的时候,来一个很棒的文本包怎么样@更好的主意,更容易。谢谢@mklement0我正要重新发明轮子。一般提示:在中检查shell代码通常会有所帮助。@mklement0该页面很棒!。我将为eclipse开发一个插件,将它与ShellEd集成。另一件事是浪费我的时间。谢谢大家!@好主意。当你这么做的时候,来一个很棒的文本包怎么样@更好的主意,更容易。谢谢@mklement0我正要重新发明轮子。在这种特定情况下,使用
for
解析命令输出可能会起作用,但这通常不是一个好主意,因为会发生分词和路径名扩展;请参阅(专门讨论解析ls
output,但它通常适用)。另外,bash
也不赞成使用backtick语法(`…
)代替命令,而支持更灵活的$(…)
。虽然在这种特定情况下使用for
解析命令输出可能会起作用,但这通常是个坏主意,因为会发生分词和路径名扩展;请参阅(专门讨论解析ls
output,但它通常适用)。另外,bash
也不赞成使用backtick语法(`…
)代替命令,而支持更灵活的$(…)
。虽然在这种特定情况下使用for
解析命令输出可能会起作用,但这通常是个坏主意,因为会发生分词和路径名扩展;请参阅(专门讨论解析ls
output,但它通常适用)。另外,bash
也不赞成使用backtick语法(`…
)代替命令,而支持更灵活的$(…)
。虽然在这种特定情况下使用for
解析命令输出可能会起作用,但这通常是个坏主意,因为会发生分词和路径名扩展;请参阅(专门讨论解析ls
output,但它通常适用)。另外,bash
也不赞成使用backtick语法(`…
)进行命令替换,而支持更灵活的$(…)
。