Tagged: bash
random 64-bit integers in *nix
Using a Colon As A Bash Null Operator
references
The title of this entry is came from the referent entry.
본 entry의 제목은 위에 언급된 페이지의 것을 사용하였음을 밝힌다.
:
shellscript를 하나 만들 던 중 if
구문에서 then
과 else
사이에 아무것도 하고싶지 않을 때 :
을 사용하면 되는 것을 배웠다.
if <condition>; then # todo... : else echo i'm in else fi
shellscript for grunt-init
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
# by Jin Kwon <onacit_at_gmail.com> | |
# fetches all https://github.com/gruntjs/grunt-init-*.git repositories | |
# into to your ~/.grunt-init | |
# and (or) pull them all | |
# this script uses 'jq' command | |
gruntinit=~/.grunt-init | |
if [ ! -d $gruntinit ]; then | |
echo making directory $gruntinit | |
mkdir $gruntinit | |
fi | |
if which jq > /dev/null; then | |
# the command 'jq' is available | |
: | |
else | |
echo the command 'jq' not found! | |
exit 1; | |
fi | |
apiurl=https://api.github.com/search/repositories?q=grunt-init-%2Buser:gruntjs | |
curl -s $apiurl | jq -r '.items[].clone_url' | | |
{ | |
while read cloneurl | |
do | |
echo —————————————- | |
name=`echo $cloneurl | sed 's/.*\/\(grunt-init-.*\).git$/\1/'` | |
echo name: $name | |
path=$gruntinit/$name | |
if [ ! -d $path ]; then | |
echo cloning $cloneurl into $path | |
git clone -q $cloneurl $path | |
else | |
echo pulling $path | |
git -C $path pull -q | |
fi | |
done | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
# by Jin Kwon <onacit_at_gmail.com> | |
# fetches all https://github.com/gruntjs/grunt-init-*.git repositories | |
# into to your ~/.grunt-init | |
# and (or) pull them all | |
# this script uses 'jq' command | |
# this script accept two options | |
# one is 'simple' which configs to clone with simple name without 'grunt-init-' prefixes. | |
# and the other is 'sample' which configs to include *-sample.git | |
simple=false | |
sample=false | |
for arg in "$@"; do | |
case "$arg" in | |
"simple") | |
simple=true | |
;; | |
"sample") | |
sample=true | |
;; | |
*) | |
;; | |
esac | |
done | |
#echo simple: $simple | |
#echo sample: $sample | |
gruntinit=~/.grunt-init | |
if [ ! -d $gruntinit ]; then | |
echo making directory $gruntinit | |
mkdir $gruntinit | |
fi | |
if which jq > /dev/null; then | |
# the command 'jq' is available | |
: | |
else | |
echo the command 'jq' not found! | |
exit 1; | |
fi | |
apiurl=https://api.github.com/search/repositories?q=grunt-init-%2Buser:gruntjs | |
curl -s $apiurl | jq -r '.items[].clone_url' | | |
{ | |
while read cloneurl | |
do | |
echo —————————————- | |
name=`echo $cloneurl | sed 's/.*\/\(grunt-init-.*\).git$/\1/'` | |
echo name: $name | |
if ! $sample; then | |
if [[ $name == *"-sample"* ]]; then | |
echo skipping a sample: $name | |
continue | |
fi | |
fi | |
if $simple ; then | |
name=`echo $cloneurl | sed 's/.*\/grunt-init-\(.*\).git$/\1/'` | |
echo using a simplified name: $name | |
fi | |
path=$gruntinit/$name | |
if [ ! -d $path ]; then | |
echo cloning $cloneurl into $path | |
git clone -q $cloneurl $path | |
else | |
echo pulling $path | |
git -C $path pull -q | |
fi | |
done | |
} |
find all jar files and print
I thought I need to print some jar files’ entries in my Java ME SDK’s lib directory.
$ zipinfo -1 cldc_1.8.jar META-INF/ ... java/util/logging/StreamHandler.class $
Then I tried to store those output to a text file.
$ zipinfo -1 cldc_1.8.jar > cldc_1.8.jar.txt $ cat cldc_1.8.jar.txt META-INF/ ... java/util/logging/StreamHandler.class $
Then I need to change line delimiters for Windows..
$ unix2dos.exe cldc_1.8.jar.txt unix2dos: converting file cldc_1.8.jar.txt to DOS format... $
I realized I can do this in one command.
$ zipinfo -1 cldc_1.8.jar | unix2dos > cldc_1.8.jar.txt $
And, finally, I can print all jar files entries in a command.
$ for j in *.jar;do zipinfo -1 $j | unix2dos > $j.txt;done $