Я знаю, что существует, вероятно, много форумов по этому символу а именно, но я хочу знать, как я могу использовать $ в вызовах. Я знаю, как сделать
echo $USER
но как мог я разворачивать свое знание этого символа, если бы я хотел выполнить что-то как nmap с нахождением подсети или если я хотел сделать файл, потому что они не работают:
mkdir $IP
mkdir $gateway
nmap $ip
nmap $subnetwork
Можно ли подать некоторые примеры того, как использовать этот символ для получения информации о получении по запросу или make-файлов?
Основное использование $ как в $USER
должен сказать оболочку, что Вы говорящий о переменной оболочки.
Посмотрите man bash
и прокрутите к (или переход к)
Special Parameters
EXPANSION
Parameter Expansion
Но могло бы быть немного трудно переварить описания в man bash
. Вы могли бы найти легче прочитать некоторое учебное руководство, которое можно найти через Интернет, например
Переменная оболочки должна быть определена (или обычно в оболочке или конкретно Вами). Например, USER
общая переменная, но subnet
не определяется в моем компьютере, таким образом, я должен был бы объявить это,
subnet="some-text-or-number-string"
Затем это может быть просмотрено
echo "$subnet"
и используемый в других командах (как Вы хотят использовать его).
IP
не определяется в моем компьютере, но стандартные переменные используют верхний регистр, таким образом, это - хорошая идея использовать нижний регистр для Ваших собственных переменных для предотвращения конфликтов.
ip=192.168.0.2
Можно проверить его с
echo "$ip"
и удалите его с
unset ip
Добавление примеров согласно подсказкам от @Terrance и @Jo-ErlendSchinstad
Команда Вы ищете с nmap
может быть покончили ip route
как так:
nmap -sP $(ip route | grep kernel | awk '{print $1}')
где $(a command line)
позволяет Вам использовать [стандартный] вывод командной строки в контексте оболочки, объясненном со следующим более простым примером,
myusername=$(whoami)
Который может быть просмотрен
echo $myusername
Простой калькулятор для целых чисел создается с двойными круглыми скобками как так,
$ echo $((1+2))
3
$ r=5
$ area=$((r**2 * 314 / 100))
$ echo "the circle's area is approx. = $area"
the circle's area is approx. = 78