From 04d1b653f521488e2ed5257c3c196459829bab62 Mon Sep 17 00:00:00 2001 From: Nicolas Boisselier Date: Thu, 30 Jul 2015 23:19:24 +0100 Subject: [PATCH] bash functions --- etc/profile.d/aliases | 7 --- etc/profile.d/git.sh | 51 +++++++++++++++++++++- etc/profile.d/nb.sh | 99 +++++++++++-------------------------------- lib/ruby/nb.rb | 1 + 4 files changed, 75 insertions(+), 83 deletions(-) create mode 100644 lib/ruby/nb.rb diff --git a/etc/profile.d/aliases b/etc/profile.d/aliases index 300251fa..734514a7 100644 --- a/etc/profile.d/aliases +++ b/etc/profile.d/aliases @@ -126,10 +126,3 @@ case "$OSTYPE" in darwin*) alias mac-mount-nfs="sudo mount -o resvport -t nfs" esac - -#-------------------------------------------------------------------------------- -# Git -# -alias git-grep="git grep --color=auto" -alias git-ls-tree="git ls-tree --full-tree -r HEAD" -alias git-ls-files="git ls-files" diff --git a/etc/profile.d/git.sh b/etc/profile.d/git.sh index 32eb2f14..c25f7081 100644 --- a/etc/profile.d/git.sh +++ b/etc/profile.d/git.sh @@ -1,5 +1,12 @@ +#-------------------------------------------------------------------------------- +# Git +# +alias git_grep="git grep --color=auto" +alias git_ls_tree="git ls-tree --full-tree -r HEAD" +alias git_ls_files="git ls-files" + git_commit_push() { - git commit -m "$@" -a + git commit -a -m "$@" git push #|| echo "Try: git push --set-upstream origin master" } @@ -7,3 +14,45 @@ git_commit_push_add() { git add . git_commit_push "$@" } + +GIT_CREATE_REPO='git@git.nbdom.net' +git_create() { + declare dir="$1"; shift + declare name="${dir}.git" +# NB 30.07.15 declare name="${1%.git}" +# NB 30.07.15 declare dir=$(basename $name) + declare repo="$GIT_CREATE_REPO" + [ -n "$1" ] && repo="$1" && shift + + # + # Check, create repo on server + # + [ -e "$dir" ] && echo ">$dir already exists!" 1>&2 && return 1 + + echo ">git init --bare ${name}.git" + ssh $repo "git init --bare ${name}.git" || return + + echo ">git clone ${repo}:${name}.git" + git clone ${repo}:${name}.git || return + + echo ">git init [$dir]" + cd $dir || return + git init + + # Create files + printf "$name\n=============\n\n\n## Synopsis\n\nDESCRIPTION\n" > README.md + + echo ">git add ." + git add . + + echo ">git commit -m \"Created by $FUNCNAME\"" + git commit -m "Created by $FUNCNAME" + + #git push --set-upstream origin master + echo ">git remote add origin $repo:${name}.git" + git remote add origin $repo:${name}.git +} + +git_clone() { + git clone git@git.nbdom.net:${1%.git}.git +} diff --git a/etc/profile.d/nb.sh b/etc/profile.d/nb.sh index 12e13d98..a9c07a15 100644 --- a/etc/profile.d/nb.sh +++ b/etc/profile.d/nb.sh @@ -23,73 +23,17 @@ END { print map {sprintf "%20.20s | %16.16s | %s\n",@$_;} sort {$b->[1] cmp $a-> #printf 'f *\nx\n' | mail | perl -e '@_=<>; shift @_; print shift @_; print reverse @_' } -nb_git_create() { -# NB 19.02.15 root@pi:puppet# nb_git_create puppet/data -# NB 19.02.15 Initialized empty Git repository in /home/git/puppet/data.git/ -# NB 19.02.15 Cloning into 'data'... -# NB 19.02.15 warning: You appear to have cloned an empty repository. -# NB 19.02.15 Got to directory: data -# NB 19.02.15 Reinitialized existing Git repository in /etc/puppet/data/.git/ -# NB 19.02.15 [master (root-commit) 3ea2a65] Created by nb_git_create -# NB 19.02.15 1 file changed, 7 insertions(+) -# NB 19.02.15 create mode 100644 README.md -# NB 19.02.15 Counting objects: 3, done. -# NB 19.02.15 Compressing objects: 100% (2/2), done. -# NB 19.02.15 Writing objects: 100% (3/3), 272 bytes, done. -# NB 19.02.15 Total 3 (delta 0), reused 0 (delta 0) -# NB 19.02.15 To git@git.nbdom.net:puppet/data.git -# NB 19.02.15 * [new branch] master -> master -# NB 19.02.15 Branch master set up to track remote branch master from origin. -# NB 19.02.15 fatal: remote origin already exists. -# NB 19.02.15 Branch master set up to track remote branch master from origin. -# NB 19.02.15 Everything up-to-date - declare name="${1%.git}" - declare dir=$(basename $name) - declare repo='git@git.nbdom.net' - - # - # Check, create repo on server - # - [ -e "$dir" ] && echo ">$dir already exists!" 1>&2 && return 1 - - ssh git@git.nbdom.net "git init --bare ${name}.git" || return - git clone $repo:${name}.git || return - - echo ">Got to directory: $dir" - cd $dir || return - - # - # Create files - # - echo "$name -============= - -## Synopsis - -DESCRIPTION -" > README.md - - # - # Update repo - # - git init - git add * - git commit -m "Created by $FUNCNAME" - git push --set-upstream origin master - git remote add origin $repo:${name}.git -} - -nb_git_clone() { - git clone git@git.nbdom.net:${1%.git}.git +nb_rb() { + ruby -r$NB_ROOT/lib/ruby/nb.rb -e "$@" } -nb_rb() { - ruby -r/etc/puppet/modules/nb/lib/nb.rb -e "$@" +nb_perl() { + ruby -r$NB_ROOT/lib/perl/NB -e "$@" } nb_alert() { local cmd=". $NB_ROOT/etc/profile" - local host=macbook.brighton.loc + local host case "$1" in led) host=pi.brighton.loc @@ -110,23 +54,28 @@ nb_alert() { ;; *) host=macbook.brighton.loc - shift - cmd="$cmd && mac-xmessage \"$FUNCNAME: $@\" 1>/dev/null" + case $HOSTNAME in *[Mm][Aa][Cc][Bb][Oo][Oo][Kk]*) host="";; esac + cmd="$cmd && mac_xmessage \"$FUNCNAME from $HOSTNAME: "$(tr "\"\`'" "”"<<< "$@")"\" 1>/dev/null" ;; esac - cmd="bash -c '$cmd'" + #host="" + #cmd="" + + if [ -n "$host" ]; then + + local ip=`dig +short $host` + [ -z "$ip" ] && echo "Can't resolve $host" 1>&2 && return 1 + + ping -qc1 "$host" &> /dev/null || ( echo "Can't ping $host" 1>&2; return 1 ) - local ip=`dig +short $host` - [ -z "$ip" ] && echo "Can't resolve macbook.brighton.loc" && return 1 + ips | grep -qxFm1 "$ip" || cmd="ssh -o BatchMode=yes $host -- $cmd" - ips | grep -qxFm1 "$ip" || cmd="ssh -o BatchMode=yes $host -- $cmd" + fi - #[ "$USER" != "nico" ] && cmd="su - nico -c '$cmd'" - [ "$USER" != "nico" ] && cmd="sudo -u nico -- $cmd" -# NB 09.06.15 if [ "$USER" != "nico" ]; then -# NB 09.06.15 cmd="sudo -u nico -- $cmd" -# NB 09.06.15 else -# NB 09.06.15 cmd="echo '$cmd'" -# NB 09.06.15 fi - eval "$cmd" + if [ "$USER" == "nico" ]; then + eval "$cmd" + else + su - nico -c "$cmd" + #echo sudo -u nico -- "$cmd" + fi } diff --git a/lib/ruby/nb.rb b/lib/ruby/nb.rb new file mode 100644 index 00000000..377a7197 --- /dev/null +++ b/lib/ruby/nb.rb @@ -0,0 +1 @@ +require '/etc/puppet/modules/nb/lib/nb.rb' -- 2.47.3