1
0
Fork 0

fix install again, again

This commit is contained in:
dece 2022-10-01 16:54:39 +02:00
parent bc4d708ea2
commit d9daae4cc4
2 changed files with 19 additions and 4 deletions

View file

@ -2,8 +2,11 @@
# Install scripts from this repo using our neighbour paf.sh.
# Requires fdfind and fzf to work.
script_dir="$( cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd )"
paf="$script_dir/paf.sh"
our_dir="$( cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd )"
paf="$our_dir/paf.sh"
scripts_dir="$1"
[[ -z "$scripts_dir" ]] && scripts_dir="$our_dir"
fdfind -t x | fzf --multi --layout=reverse --header="Pick scripts to install" \
fdfind -t x . "$scripts_dir" \
| fzf --multi --layout=reverse --header="Pick scripts to install" \
| while read -r script; do "$paf" "$script"; done

14
paf.sh
View file

@ -5,12 +5,24 @@
# exists at the link path, the script fails (last command is ln itself). This is
# intentional.
usage() {
echo "Usage: $0 script [link_name]"
echo " script script or executable to install"
echo " link_name name to use for the symbolic link"
}
[ $# -lt 1 ] || [ $# -gt 2 ] && usage && exit 1
script_dir="$HOME/.local/bin"
script="$(realpath "$1")"
if [ -n "$2" ]; then
[ ! -f "$script" ] && echo "$script does not exist." && exit 1
[ ! -x "$script" ] && echo "$script is not executable." && exit 1
if [[ -n "$2" ]]; then
script_name="$2"
else
script_name="$(basename "$script")"
script_name="${script_name%.*}" # remove extension
fi
ln -s "$script" "$script_dir/$script_name"