Skip to content

Instantly share code, notes, and snippets.

@sasagon
sasagon / gist:2928151
Created June 14, 2012 05:23
ディレクトリに出入りするとき、そこにあるスクリプトファイルを自動的にsourceで取り込む(.zshrc用)
# read .swenv.(out|in) when changing the current directory
function swenv_out() {
predir=~1
outfile="${predir}/.swenv.out"
[ -d "$predir" -a -e "$outfile" -a -O "$outfile" -a -w "$outfile" ] && source $outfile
}
function swenv_in() {
infile=".swenv.in"
[ -e $infile -a -O $infile -a -w $infile ] && source $infile
}
@sasagon
sasagon / tarx.sh
Created February 14, 2012 06:02
中身が単一ディレクトリになってないアーカイブを展開するときに、適当なディレクトリを作ってからその中に展開するshell script
#!/bin/sh --
for F in $@ ; do
if [ `tar tf $F | grep -o '^[^/]*/' | sort | uniq | wc -l` -eq 1 ]; then
tar xvf $F
else
D=`basename \`basename \\\`basename \\\\\\\`basename \\\\\\\\\\\\\\\`basename \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\`basename "$F" .tgz\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\` .tbz\\\\\\\\\\\\\\\` .txz\\\\\\\` .tar.gz\\\` .tar.bz2\` .tar.xz`
mkdir $D && tar xvf $F -C $D
fi
done