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