fixes for bash 4.4
authorIan Kelling <ian@iankelling.org>
Tue, 27 Sep 2016 21:51:01 +0000 (14:51 -0700)
committerIan Kelling <ian@iankelling.org>
Thu, 4 May 2017 23:42:08 +0000 (16:42 -0700)
.bashrc

diff --git a/.bashrc b/.bashrc
index dfc10aeaa90ab021500cacfc3b88cc81f82763a4..6fe4174c29cf4019b0e36d0bde45027f80fa7def 100644 (file)
--- a/.bashrc
+++ b/.bashrc
@@ -39,6 +39,7 @@
 # assume we want ssh commands to source this file if we are sourcing it,
 # and we haven't specified otherwise already
 [[ ! $BASH_LOGIN_SHELL ]] && export BASH_LOGIN_SHELL=true
+#BASH_LOGIN_SHELL=false # temporary override
 
 # first conditions show that we are an ssh command without an interactive shell
 if [[ $SSH_CONNECTION ]] \
@@ -80,7 +81,9 @@ unalias -a
 # use extra globing features.
 shopt -s extglob
 # include .files when globbing, but ignore files name . and ..
-# setting this also sets dotglob
+# setting this also sets dotglob.
+# Note, this doesn't work in bash 4.4 anymore, for paths with
+# more than 1 directory, like a/b/.foo, since * is fixed to not match /
 export GLOBIGNORE=*/.:*/..
 
 # broken with bash_completion package. Saw a bug for this once. Don't anymore.
@@ -110,6 +113,7 @@ shopt -s histappend
 shopt -s checkwinsize
 # attempt to save multiline single commands as single history entries.
 shopt -s cmdhist
+# enable **
 shopt -s globstar
 
 
@@ -209,7 +213,6 @@ C_DEFAULT_DIR=/a
 ###################
 ## include files ###
 ###################
-
 for _x in /a/bin/distro-functions/src/* /a/bin/!(githtml)/*-function?(s); do
     source "$_x"
 done
@@ -225,6 +228,7 @@ path_add --ifexists --end /a/opt/adt-bundle*/tools /a/opt/adt-bundle*/platform-t
 #path_add $HOME/bin/bash-programs-by-ian/utils
 
 
+
 ###############
 ### aliases ###
 ###############
@@ -259,7 +263,6 @@ unalias ls ll grep &>/dev/null ||:
 
 
 
-
 #####################
 ###  functions   ####
 #####################
@@ -342,7 +345,7 @@ bashrcpush () {
         tar cz bin/semi-private bin/distro-functions/src | ssh $x tar xz
     done
     cd $(mktemp -d)
-    command cp /a/c/repos/bash/!(.git) ~/.gitconfig .
+    command cp /a/c/repos/bash/!(.git|..|.) ~/.gitconfig .
     for x in "$@"; do
         tar cz * | ssh $x tar xz
     done
@@ -1405,8 +1408,6 @@ fi
 
 
 
-
-
 ###########################################
 # stuff that makes sense to be at the end #
 ###########################################