Как получить оболочку tty рабочий каталог?

Действительно ли возможно получить рабочий каталог какой-либо из моих оболочек tty? So\вкладывают рабочий каталог любой оболочки /dev/ttys??? принадлежность мне. Я использую OS X.

4
задан 15.06.2016, 19:28

2 ответа

Запишите сценарий, который использует ps определить ttys и затем использовать lsof получить текущий рабочий каталог. Я не запишу сценарий для Вас, но здесь являюсь двумя примерами, которые должны получить Вас движение:

-f опция к ps шоу ttys:

$ ps -f 
  UID   PID  PPID   C     STIME TTY           TIME CMD
  503  1019  1015   0   0:00.33 ttys000    0:00.43 -bash
  503 72786  1019   0   0:00.04 ttys000    0:00.06 ssh c10
  503  1275  1188   0   0:00.17 ttys001    0:00.21 /bin/bash --noediting -i
  503  1789  1188   0   0:00.04 ttys002    0:00.05 /bin/bash --noediting -i
  503  4191  1188   0   0:00.06 ttys003    0:00.07 /bin/bash --noediting -i
  503  7430  7429   0   0:00.18 ttys004    0:00.26 -bash
  503 74273 74272   0   0:00.02 ttys007    0:00.03 -bash
  503 74310 74309   0   0:00.01 ttys008    0:00.02 -bash

Этот пример ищет процессы удара, но Вы могли циклично выполниться через идентификаторы процесса от предыдущего вывода

$ lsof | grep bash | grep cwd
bash       1019 dharris  cwd      DIR       14,2      1530  1813370 /private/tmp
bash       4191 dharris  cwd      DIR       14,2      1122 40387322 /Users/dharris/src
bash       7430 dharris  cwd      DIR       14,2      4420   807137 /Users/dharris
bash      74273 dharris  cwd      DIR       14,2       306  1856173 /Applications/Preview.app/Contents
bash      74310 dharris  cwd      DIR       14,2       612  1657335 /opt/local/etc
bash      74343 dharris  cwd      DIR       14,2      4420   807137 /Users/dharris
4
ответ дан 07.12.2019, 20:45

Попробуйте их, чтобы видеть, дают ли они Вам, что Вы ищете:

pgrep '^(k|c|ba|tc|z|)sh$' | xargs -I % readlink -e /proc/%/cwd

или

pgrep '^(k|c|ba|tc|z|)sh$' | xargs -I % ls -l /proc/%/cwd
-1
ответ дан 07.12.2019, 20:45

Теги

Похожие вопросы