У вас есть вопрос "bash" по этому вопросу, но шебанг говорит / bin / sh.Что вы на самом деле хотите использовать?
Собственно, обо всем по порядку.Способ установки IP не работает, так как он никогда не запускает команду dig;для этого вам нужны либо обратные кавычки, либо $( )
:
IP="$(dig $HOSTNAME +short)"
Теперь для теста;Есть несколько способов сделать это.Это должно работать во всех оболочках:
case "$IP" in
*10.130.10.*)
mount drive commands here
;;
*10.130.11.*)
mount drive commands here
;;
esac
Обратите внимание, что если команды монтирования одинаковы для двух подсетей, вы можете использовать *10.130.10.*|*10.130.11.*)
в качестве шаблона для сопоставления.
Если выНа самом деле вы используете bash, вы можете использовать его условное выражение [[ ]]
, чтобы сделать сопоставление, более похожее на то, как у вас это было:
if [[ "$IP" == *10.130.10.* ]]; then
mount drive commands here
elif [[ "$IP" == *10.130.11.* ]]; then
mount drive commands here
fi
Как и выше, если команды монтирования одинаковы, вы можете сделатьодин условный с if [[ "$IP" == *10.130.10.* || "$IP" == *10.130.10.* ]]; then
.Кроме того, двойные кавычки вокруг $IP
на самом деле не нужны в этом конкретном случае, но я всегда делаю привычку заключать в двойные кавычки переменные, если нет причины не делать этого.