dotfiles/.config/shell/bin/cds

18 lines
378 B
Bash
Executable file

#!/bin/bash
# cd search: cd to a directory, given part of its name
# (also can take arguments for an `fd` commnd)
# (also can cd to a file if `-t f` is passed)
if ! [ -z "$1" ];then
DIR="$(fd --max-results=1 -t d $@)"
if [ -f "$DIR" ];then
cd "$(dirname "$DIR")" && pwd
else
cd "$DIR" && pwd
fi
else
echo "$0: no arguments provided"
return 1
fi