NNBnh/superb-bootstrap

./setup.sh: line 200: superbbootstrap_batch_symlink: command not found

xfzv opened this issue · 2 comments

xfzv commented

./setup.sh:

Install packages

Before symlink step

Symlink to home (/home/username)
./setup.sh: line 200: superbbootstrap_batch_symlink: command not found

Symlink to root (/)
[sudo] password for username:
sudo: superbbootstrap_batch_symlink: command not found

After symlink step

superbbootstrap_batch_symlink "$DOTFILES_PATH/home" "$HOME"

I presume there is something wrong with this block?

superb-bootstrap/setup

Lines 126 to 137 in 1e478bc

sh -c 'superbbootstrap_batch_symlink() {
batch_symlink_directory="$1"
batch_symlink_target="$2"
[ -n "$TRASH_PATH" ] && mkdir -p "$TRASH_PATH"
if [ -d "$1" ]; then
superbbootstrap_scan_directory "$batch_symlink_directory"
else
printf "\n\033[1;7;31m%s\033[0m\n" "$batch_symlink_directory not found"
fi
}'

NNBnh commented

Hello, thank you for the bug report.

Here is some quick fix you can try out:

superb-bootstrap/setup

Lines 46 to 49 in 5b8a7f2

symlink_root() {
printf '\n\033[1;7;36m%s\033[0m\n' 'Symlink to root (/)'
superbbootstrap_batch_symlink "$DOTFILES_PATH/root" '/' 'sudo'

superb-bootstrap/setup

Lines 212 to 248 in 5b8a7f2

superbbootstrap_batch_symlink() {
batch_symlink_directory="$1"
batch_symlink_target="$2"
batch_symlink_permission="$3"
[ -n "$TRASH_PATH" ] && mkdir -p "$TRASH_PATH"
if [ -d "$1" ]; then
superbbootstrap_scan_directory "$batch_symlink_directory"
else
printf '\n\033[1;7;31m%s\033[0m\n' "'$batch_symlink_directory' not found"
fi
}
superbbootstrap_scan_directory() {
[ -d "$1" ] || exit 1
for file in "$1"/.* "$1"/*; do
[ "$file" = "$1/." ] || [ "$file" = "$1/.." ] || [ "$file" = "$1/*" ] && continue
target="$batch_symlink_target${file#$batch_symlink_directory}"
if [ -e "$target" ]; then
if [ -d "$target" ] && [ ! -h "$target" ]; then
superbbootstrap_scan_directory "$file"
else
if [ -n "$TRASH_PATH" ]; then
$batch_symlink_permission mv -f "$target" "$TRASH_PATH"
else
$batch_symlink_permission rm "$target"
fi && $batch_symlink_permission ln -sf "$file" "$target"
fi
else
$batch_symlink_permission ln -sf "$file" "$target"
fi
done
}

I'm very sorry for is inconvenient

xfzv commented

Thanks! it works as expected now.