bin: Add shcwd to get CWD of all running SHELLs

This script is meant to be used in the future in an interactive fzf
window bound to a key, so that one can quickly cd into the CWD of
another running shell.
This commit is contained in:
2022-12-22 11:07:23 +01:00
parent 4c111c0e3b
commit 3480b7fa46

21
.local/bin/shcwd Executable file
View File

@@ -0,0 +1,21 @@
#!/bin/sh
# Get the current working directories of all running SHELLs.
# The `pgrep` line can be replaced with following code block (resulting in two
# while-loops) if only child processes of certain programs (e.g. terminal and
# tmux instances) should be matched.
#
# pgrep --full "^($TERMINAL|tmux)( |$)" \
# | cut -d' ' -f1 \
# | while read -r line; do
# pgrep -P "$line"
# done \
# NOTE: when using the full path not all shell instances are matched
pgrep "$(basename $SHELL)" \
| cut -d' ' -f1 \
| while read -r line; do
pwdx "$line" 2>/dev/null
done \
| cut -d' ' -f2- \
| sort -u