0
我想知道爲什麼變量($HOST
和$i
)沒有傳遞給timeout 1 bash -c 'cat </dev/null> /dev/tcp/$HOST/$i' && echo $?
命令。不傳遞給命令的變量
#!/bin/bash
HOST=$1
for i in {0..8889}
do
OPENPORT=$(timeout 1 bash -c 'cat </dev/null> /dev/tcp/$HOST/$i' && echo $?)
if [ "$OPENPORT" == 0 ]
then
echo -e "Port $i is open on $HOST.\n"
fi
done
另一個說明:'some_command && echo $?'沒有任何意義:只有當'some_command'成功時纔會執行'echo $?',因此總是會回顯'0' :) – anishsane
謝謝爲小費。 – Switchkick