Оболочки POSIX (например, bash
) и fish
создают путь к текущему рабочему каталогу (свойство процесса, наследуемое дочерними элементами и сохраняющееся при выполнении команд) в Специальная переменная $ PWD
в оболочках POSIX. Эквивалент для csh
-подобных оболочек - это $ cwd
.
Переменная динамическая. Его содержимое может измениться после вызова команды, которая изменяет текущий каталог, например cd
(или pushd
/ popd
в некоторых оболочках). Оболочки POSIX также поддерживают переменную $ OLDPWD
, которая содержит предыдущий рабочий каталог до того, как вы вызвали успешный cd
/ pushd
/ popd
.
Команда pwd
печатает один путь к текущему каталогу. В оболочках POSIX эта команда часто встроена и просто выводит содержимое $ PWD
.
Если вы хотите узнать, какой рабочий каталог был в момент запуска сценария, вам необходимо записать его в начале сценария, например:
#! /bin/sh -
original_PWD=$PWD
...
cd ...
Чтобы узнать текущий рабочий каталог вашего родительского процесса в GNU / Linux, вы можете сделать
parent_PWD=$(readlink -ve "/proc/$PPID/cwd")
, хотя у вас не всегда может быть разрешение на получение этой информации. Если ваш родитель умер, вы будете усыновлены init
или дочерним жнецом, если таковой имеется. Однако $ PPID
не будет обновляться , а не , поэтому в этом случае вы можете получить cwd неправильного процесса (если pid вашего родителя был повторно использован).
Рассмотрим также этот awk
один -вкладыш:
nmap -Pn -oG -p22,80,443,445 - 100.100.100.100 | awk '/open/{ s = ""; for (i = 5; i <= NF-4; i++) s = s substr($i,1,length($i)-4) "\n"; print $2 " " $3 "\n" s}'
Он напечатает вам все хосты со всеми указанными открытыми портами:
100.100.100.100 (some-domain.com)
22/open/tcp//ssh
80/open/tcp//http
443/open/tcp//microsoft-ds
445/open/tcp//https-alt
Попробуйте выполнить следующую команду:
nmap --open -p 22,80 192.168.1.1-254 -oG - | grep "/open" | awk '{ print $2 }'
Это будет сканировать ваши порты в вашем диапазоне и направлять вывод в формате greppable для поиска открытых портов, а затем печатать IP-адреса, которые соответствуют любому из этих критериев.