Bir paketin kurulu olup olmadığını ve 8080 numaralı bağlantı noktasının belirli bir işlem tarafından kullanılıp kullanılmadığını kontrol ettiği bir betik var. Ben hiç bash ile deneyimli değilim, bu yüzden böyle bir şey yaptım:
if dpkg -s net-tools; then
if netstat -tlpn | grep 8080 | grep java; then
echo "Shut down server before executing this script"
exit
fi
else
echo "If the server is running please shut it down before continuing with the execution of this script"
fi
# the rest of the script...
Komut yürütüldüğünde ancak ben hem olsun dpkg -s net-tools
ve netstat -tlpn | grep 8080 | grep java
terminalde çıkışları, ve ben bunu istemiyorum, nasıl çıktı gizleyebilirsiniz ve sadece sonucu ile sopa if
s?
Ayrıca, yaptığım şeyi yapmanın daha zarif bir yolu var mı? Ve eğer varsa 8080 portunu hangi işlemin kullandığını (eğer kullanılıyorsa değil) kullanmanın daha zarif bir yolu var mı?
grep -q
ve yeni bash&> ...
eş anlamlısı olarak> ... 2>&1