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:
21
.local/bin/shcwd
Executable file
21
.local/bin/shcwd
Executable 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
|
||||
Reference in New Issue
Block a user