#!/bin/bash builder=$(dirname "$(realpath "$BASH_SOURCE")") target=$1 [[ $# -eq 2 ]] && target=$1/$2 target=${target:-/opt/bin/udbuild} cmd=$(basename $target) parent=$(dirname $target) echo NOTE: the uci build script can be called directly at $builder # echo "$PATH --- $parent" declare -a a="(${PATH//:/ })" for i in ${a[*]}; do [[ $i == $parent ]] && found=true; done if [[ $found ]]; then echo creating a link \'$cmd\' in \'$parent\' to \'$builder\' if [[ -f $target ]]; then echo "$target already exists do you want to overwrite? (y/n) " read -e ans [[ ! $ans == "y" ]] && exit 1 fi if ln -fns $builder/build $target; then [[ ! $(command -v $cmd) ]] && echo FATAL: link failed $cmd not found in path \ || echo install success: try \'$cmd -h\' now else echo Error creating link echo if \': Permission denied\' 'then' run \'sudo ./install\' fi else echo "Install failed: $parent not in current path" echo $PATH echo "link to script not created. your install options are:" echo "1. add $parent to your PATH" echo "2. rerun this script using a directory in the system path (e.g ./install /usr/bin build)" echo "3. add the following export somewhere in your shell (e.g. ~/.bashrc)" echo " export UDBUILD=$builder/build" echo ' and then use $UDBUILD to invoke the build script' echo ' ( e.g $UDBUILD -e Smybuild.env)' fi