Skip to content

Instantly share code, notes, and snippets.

@frntn
frntn / pipe_stderr_only.sh
Created May 6, 2014 17:23
Proof of Concept : Pipe (and color output for proof) of stderr only
#!/bin/bash
function outerr {
echo "this is on standard ouput (blank color)"
echo "but this one is on error ouput (red color)" >&2
}
exec 3>&1
outerr 2>&1 >&3 | sed -e 's/^/'$(printf "\033[1;31m")'/' -e 's/$/'$(printf "\033[39m")'/'
exec 3>&-
@frntn
frntn / ohmyzsh
Created May 7, 2014 08:11
What happen when installing oh-my-zsh configuration without having zsh installed ( => should add a check if shell is installed )
root@precise32:~# curl -L http://install.ohmyz.sh | sh
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 104 100 104 0 0 159 0 --:--:-- --:--:-- --:--:-- 650
0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0
100 1779 100 1779 0 0 1119 0 0:00:01 0:00:01 --:--:-- 42357
Cloning Oh My Zsh...
Cloning into '/root/.oh-my-zsh'...
remote: Reusing existing pack: 10071, done.
Receiving objects: 100% (10071/10071), 2.04 MiB | 500 KiB/s, done.
<!-- http POST data with cli -->
{
"HostConfig": {
"RestartPolicy": {
"MaximumRetryCount": 0,
"Name": ""
},
"NetworkMode": "bridge",
"SecurityOpt": null,
"VolumesFrom": null,
@frntn
frntn / .screenrc
Created October 8, 2012 08:53
A simple screenrc with tabs & login shell
hardstatus alwayslastline
hardstatus string '%{Yk}%-w%{.Yk}%n %t%{-}%+w %=%{.w} %{kY}%C'
shell -$SHELL
deflogin on
backtick 1 5 5 uptime
bind f eval "caption splitonly" "hardstatus ignore"
bind F eval "caption always" "hardstatus alwayslastline"
#defscrollback 12000
#bind ^j focus down
@frntn
frntn / gist:5495e63fac1d83c1eb11
Created February 20, 2016 11:23
Undocumented Docker Environment Variables
# clone repo and extract all DOCKER_* environment variables used in the code
git clone https://github.com/docker/docker.git
cd docker
grep -rn "os.Getenv" . | sed -r 's/([^:]*:[0-9]*:).*os.Getenv\(([^\)]*)\).*/\2/' | grep DOCKER_ | sort -u
# remove all documented DOCKER_* envrionemnt variables (https://docs.docker.com/engine/reference/commandline/cli/#environment-variables)
"DOCKER_BINARY"
"DOCKER_CONTAINER_NAT"
@frntn
frntn / keybase.md
Created September 14, 2016 12:30
Verifying myself: I am frntn on Keybase.io

Keybase proof

I hereby claim:

  • I am frntn on github.
  • I am frntn (https://keybase.io/frntn) on keybase.
  • I have a public key whose fingerprint is CE46 FE45 3E9E 935C A68C 81D0 D385 289F A809 234F

To claim this, I am signing this object:

#!/bin/bash
cd "$(dirname "$0")"
GIT_KEYS="gitkey_*" # my git keys are always loaded but agent forwarding is limited specific Hosts
SSH_KEYS="" # my ssh keys are never loaded
SSH_AGENT_PID=1 # `kill -0 1` will always fail for non-root
SSH_AGENT_ENV=".agent_env"
[ -f "${SSH_AGENT_ENV}" ] && source "${SSH_AGENT_ENV}" > /dev/null # load latest known agent pid
kill -0 $SSH_AGENT_PID 2>/dev/null && return # and stop here if still running (do not 'exit' because file may be source'd)
@frntn
frntn / pullpush.sh
Last active August 1, 2017 12:18
Git: pull all + push all
# Pull all
git clone git@github.com:frntn/sample.git
cd sample/
git checkout --detach
git fetch origin '+refs/heads/*:refs/heads/*'
# Push all
git remote add alternate git@gitlab.com:frntn/sample.git
git push -u alternate --all
git push -u alternate --tags
@frntn
frntn / genpass.sh
Created August 2, 2017 22:57
GenPass function to your bashrc
# add this to your .bashrc
function genpass {
isint='^[1-9][0-9]*$'
[[ $1 =~ $isint ]] && count=$1 || count=1
[[ $2 =~ $isint ]] && len=$2 || len=10
for i in $(seq 1 $count); do </dev/urandom tr -dc A-Za-z0-9 | head -c$len ; echo ; done
}
@frntn
frntn / fd-setcolor.sh
Last active August 21, 2017 09:31
Colored File Descriptor
#!/bin/bash
# just put this at the beginning of your scripts
trap "{ sleep 1; }" EXIT
red="" ; [ -t 1 ] && [ -t 2 ] && red="$(tput setaf 1)"
rst="" ; [ -t 1 ] && [ -t 2 ] && rst="$(tput sgr0)"
logdir="/tmp"
exec 3> "$logdir/raw.log"
exec 2> >( awk '{print strftime("%Y%m%dT%H:%M:%S%z")" - STDERR - "$0 ; fflush(stdout)}' | tee -a $logdir/${0%.*}.err > >( awk '{print "'$red'"$0"'$rst'" ; fflush(stdout)}' ))
exec 1> >( awk '{print strftime("%Y%m%dT%H:%M:%S%z")" - STDOUT - "$0 ; fflush(stdout)}' | tee -a $logdir/${0%.*}.out)