Многие из постов, которые я только что прочитал, имеют много ответов, которые охватывают это, но я не понимаю, что я делаю на самом деле; это было хитом и мисс.
Скрипт .sh, с которым я работаю:
#!/bin/bash
# init
input=$1
output=$(ping -c 1 "$input" 2>/dev/null)
if [ $? -eq 0 ]; then
ip=$(printf '%s' "$output" | gawk -F'[()]' '/PING/{print $2}' 2>/dev/null)
echo "$ip";
sleep 2
else
echo "Host not found";
fi
Многие из постов, которые я только что прочитал, охватывают это и утверждают, что есть несколько различных методов, которые могут быть использованы для достижения этой цели, но я до сих пор не понимаю, как правильно их использовать. По сути, я пытаюсь проверить, была ли переменная "$ 1" установлена аргументом, и показать что-то вроде:
echo No argument given
если переменная пуста, вместо того, чтобы просто пропинговать хост. Мой вопрос: как мне поступить так, не усложняя вещи?
Помощь всегда приветствуется, спасибо заранее.
PS: я все еще довольно новичок в среде Linux, так что будьте спокойны со мной.