# 4. etc/profile.d/*.sh
#
#--------------------------------------------------------------------------------
-[ "$1" = "--nb-debug" ] && export NB_DEBUG="echo DEBUG: " && shift
+[ "$1" = "--nb-debug" ] && export NB_DEBUG="yes" && shift
+nb_debug() {
+ [ -n "$NB_DEBUG" -a "$NB_DEBUG" = "yes" ] || return 0
+ echo "DEBUG: $*" 1>&2
+ return 0
+}
#
# Avoid infinit loop. Eg: profile -> .bashrc -> profile
#
-#NB_DEBUG='echo '
if [ -n "$NB_LOOP" ]; then
- [ -n "$NB_DEBUG" ] && $NB_DEBUG "WARN: NB_LOOP=$NB_LOOP: BASH_SOURCE=$BASH_SOURCE \$0=$0"
+ nb_debug "WARN: NB_LOOP=$NB_LOOP: BASH_SOURCE=$BASH_SOURCE \$0=$0"
echo "WARN: NB_LOOP=$NB_LOOP: BASH_SOURCE=$BASH_SOURCE \$0=$0 | Won't load !"
NB_LOOP=$(($NB_LOOP+1))
unset NB_LOOP
return 2>/dev/null || exit # if executable
fi
-[ -n "$NB_DEBUG" ] && $NB_DEBUG "ENVS: BASH_SOURCE=$BASH_SOURCE \$0=$0"
+nb_debug "ENVS: BASH_SOURCE=$BASH_SOURCE \$0=$0"
#trap 'unset NB_LOOP' EXIT
export NB_LOOP=1
if [ -z "$NB_ETC_DIR" -o "$NB_ETC_DIR" = "/" ]; then
export NB_UNSUPORTED=1
- [ -n "$NB_DEBUG" ] && $NB_DEBUG "ERR: Unsupported shell. Please use bash, ksh93 or zsh."
+ nb_debug "ERR: Unsupported shell. Please use bash, ksh93 or zsh."
else
unset NB_UNSUPORTED
#echo $NB_ETC_DIR; #return
# Check to avoid system crash !
- [ -n "$NB_DEBUG" ] && $NB_DEBUG ". $NB_ETC_DIR/profile.d/functions"
+ nb_debug ". $NB_ETC_DIR/profile.d/functions"
if [ ! -e "$NB_ETC_DIR/profile.d/functions" ] || ! . "$NB_ETC_DIR/profile.d/functions"; then
echo "ERR: $NB_ETC_DIR: Wrong directory (no profile.d/functions)" 1>&2
_nb_unset
fi
export NB_ROOT=$(realpath $NB_ETC_DIR/.. 2>/dev/null)
- [ -n "$NB_DEBUG" ] && $NB_DEBUG "NB_ROOT=$NB_ROOT"
+ nb_debug "NB_ROOT=$NB_ROOT"
#
# Profiles
${NB_ROOT}/etc/profile.d/aliases \
$(nb_repos_ls "etc/profile" "etc/profile.d/*.sh" | awk '$0 != "'${NB_ROOT}/etc/profile'"') \
;do
- [ -n "$NB_DEBUG" ] && $NB_DEBUG ". $i"
+ nb_debug ". $i"
[ -r "$i" -a -f "$i" ] && . "$i"
done
unalias which
for f in "$@"; do
- #[ -n "$NB_DEBUG" ] && $NB_DEBUG "====$d/$f"
+ #nb_debug "====$d/$f"
for repo in "$d"/$f; do
[ -e "$repo" ] && echo "$repo"
done
# Cache
case "$_which_cache|" in
*"|$1=1|"*)
- [ -n "$NB_DEBUG" ] && $NB_DEBUG "which_cache() $1=1"
+ nb_debug "which_cache() $1=1"
return 0
;;
*"|$1=0|"*)
- [ -n "$NB_DEBUG" ] && $NB_DEBUG "which_cache() $1=0"
+ nb_debug "which_cache() $1=0"
return 1
;;
esac
+ #nb_debug "which_cache() $1=?"
for p in $PATH; do
test -x "$p/$1" || continue
#!/bin/bash --login
+#
+#
+# We want a new proper bash shell, we are going to search with `set`
+#
+#
set +e
DIR=$(dirname "$0")
tmp=`mktemp -d`
local file="$1"; shift
cat << EOF
+CREATE TEMPORARY TABLE IF NOT EXISTS _var (k varchar(10),v varhcar(10));
DELETE FROM _var;
+
DROP TABLE IF EXISTS ${name}_tmp;
CREATE TEMPORARY TABLE ${name}_tmp AS SELECT * FROM $name WHERE 0;
INSERT OR IGNORE INTO $name SELECT * FROM ${name}_tmp;
INSERT INTO _var VALUES('post',(SELECT count(*) FROM ${name}));
-SELECT 'Update sys:$name ('
+SELECT 'Update $name ('
|| ((SELECT v FROM _var WHERE k='post')-(SELECT v FROM _var WHERE k='pre'))
|| '/'
||(SELECT v FROM _var WHERE k='import')
cat << EOF
PRAGMA foreign_keys=OFF;
.separator \t
-CREATE TEMPORARY TABLE _var (k varchar(10),v varhcar(10));
`data_src`