2 # my weird function file
4 cdls
() { cd "$@" && clear && ls; }
20 mkdir
-p "$@" && eval cd "\"\$$#\"";
24 local serverdir
="${TMPDIR:-/tmp}/emacs${UID}"
26 for file in ${serverdir}/*; do
27 if [[ -S ${file} ]]; then
28 servers
+=("${file##*/}")
52 printf '%s ' "$result";
59 echo "[$(date + '%Y-%m-%dT%H:%M:%S%z')]: $@ >&2"
68 my_err
"unable to my_test"
69 exit "${E_DID_NOTHING}"
73 my_pretty_print_json
() {
77 my_not_start_service_on_boot
(){
78 # service to not start on boot
80 update-rc.d
$service disable
;
83 my_install_new_font
(){
90 sudo ip link
set eth0 up
;
91 # ask for an ip via dhcp
95 #function to show the current branch
96 my_show_current_branch
(){
97 git rev-parse
--abbrev-ref HEAD
103 echo $
(pdftk
$filename dump_data \
104 |
grep -i numberofpages \
110 echo $
(pdftk
$filename burst
);
114 for i
in $
(ls |
grep .pdf$
); do
119 # function to show one line of file
121 local line_number
=$1;
125 echo $
(sed -n $line_number$p $filename);
128 # function to extract in one command
132 if is_file
$filename ; then
134 *.
tar.xz
) tar xvfJ
$filename ;;
135 *.
tar.bz2
) tar xvjf
$filename ;;
136 *.
tar.gz
) tar xvzf
$filename ;;
137 *.bz2
) bunzip2
$filename ;;
138 *.rar
) unrar x
$filename ;;
139 *.gz
) gunzip
$filename ;;
140 *.
tar) tar xvf
$filename ;;
141 *.tbz2
) tar xvjf
$filename ;;
142 *.tgz
) tar xvzf
$filename ;;
143 *.
zip) unzip $filename ;;
144 *.Z
) uncompress $filename ;;
145 *.7z
) 7z x
$filename ;;
146 *) echo "'$filename' cannot be extracted via extract" ;;
149 echo "'$filename' is not a valid file"
153 # function to list the content of an archive
154 my_list_archive_content
() {
157 if is_file
$filename ; then
159 *.
tar.xz
) tar tvfJ
$filename ;;
160 *.
tar.bz2
) tar tvjf
$filename ;;
161 *.
tar.gz
) tar tzvf
$filename ;;
162 *.bz2
) bunzip2
$filename ;;
163 *.gz
) gunzip
-l $filename ;;
164 *.
tar) tar tvf
$filename ;;
165 *.tbz2
) tar tvjf
$filename ;;
166 *.tgz
) tar tvzf
$filename ;;
167 *.
zip) unzip -l $filename ;;
168 *.Z
) uncompress -l $filename ;;
169 *.7z
) 7z l
$filename ;;
170 *) echo "content of '$filename' cannot be listed :(" ;;
173 echo "'$filename' is not a valid file"
177 # dump a mysql database
181 echo "dumping database '$database' ..."
182 mysqldump
-u patrick
-ppatrick $database > $databse_dump_$
(date +%m
%d
%Y
).sql
186 my_dump_mysql_table
() {
190 echo "dumping table '$table' from database '$database' ..."
191 mysqldump
-u patrick
-ppatrick $database $table > $table_dump_$
(date +%m
%d
%Y
).sql
200 echo "upload of '$filename' to '$ftp_url' by '$user' ..."
201 #curl -T $filename ftp://dev.africafilms.tv/movies/ --user dev.africafilms.tv:dev/aftv/DAK2602
202 curl
-T $filename $ftp_url --user $user:$password
206 local string_to_find
=$1;
209 echo "recursive looking for the string '$string' inside '$directory' directory"
210 grep -l -R -i -r $string_to_find $directory;
214 local string_to_find
=$1;
217 echo "recursive looking for the string '$string' inside '$directory' directory"
218 find $directory |
xargs grep $string -sl;
221 # extract md5 hash from a string
225 echo "md5 hash of '$string' is: "
226 echo -n "$sring" |
md5sum;
229 # Creates an archive (*.tar.gz) from given directory.
233 tar cvzf
"${directory%%/}.tar.gz" "${directory%%/}/";
236 # Create a ZIP archive of a file or folder.
240 zip -r "${file%%/}.zip" "$file";
243 # Make your directories and files access rights sane.
244 my_sanitize
() { chmod -R u
=rwX
,g
=rX
,o
= "$@" ;}
246 # Get IP adress on ethernet.
248 local my_ip
=$
( /sbin
/ifconfig eth0 \
249 |
awk '/inet/ { print $2 } ' \
251 local my_gtw
="gtw: "$
(netstat
-nr |
awk '{print $2}' |
sed -n 3p
);
252 echo ${my_ip:-"Not connected"}
253 echo ${my_gtw:-"Not connected"}
256 # Get current host related info.
258 echo -e "\nYou are logged on ${BRed}$HOST"
259 echo -e "\n${BRed}Local IP Address :$NC" ; my_ip
260 echo -e "\n${BRed}Current date :$NC " ; date; calendar |
head -1
261 echo -e "\n${BRed}Additionnal information:$NC " ; uname
-a
262 echo -e "\n${BRed}Users logged on:$NC " ; \
267 echo -e "\n${BRed}Machine stats :$NC " ; uptime
268 echo -e "\n${BRed}Memory stats :$NC " ; free
-h
269 echo -e "\n${BRed}Diskspace :$NC " ; mydf
/ $HOME
270 echo -e "\n${BRed}Open connections :$NC "; netstat
-pan --inet;
274 # Pretty-print of 'df' output. Inspired by 'dfc' utility.
282 echo -e $fs" :No such file or directory" ; continue
285 local info
=( $
(command df
-P $fs |
awk 'END{ print $2,$3,$5 }') )
286 local free
=( $
(command df
-Pkh $fs |
awk 'END{ print $4 }') )
287 local nbstars
=$
(( 20 * ${info[1]} / ${info[0]} ))
289 for ((j
=0;j
<20;j
++)); do
290 if [ ${j} -lt ${nbstars} ]; then
296 out
=${info[2]}" "$out"] ("$free" free on "$fs")"
302 # debootstrap --verbose \
303 # --variant=minbase \
304 # --arch=i386 --include ifupdown,locales,libui-dialog-perl,dialog,dhcp3-client,netbase,net-tools,iproute,openssh-server \
305 # sid /var/lib/lxc/sid http://ftp.debian.org/debian
311 local rememberfile
="$HOME/.remember"
312 # if the file not exists, touch it
313 [[ ! -f $rememberfile ]] && touch $rememberfile
314 if [ $# -eq 0 ] ; then
315 echo "Type what you want to remember then, hit ^D: "
316 cat - >> $rememberfile;
318 #echo $(date +%m%d%Y)" -- $@" >> $rememberfile
319 echo $
(date +%F
)" -- $@" >> $rememberfile
324 local rememberfile
="$HOME/.remember"
326 #is_not_file $remberfile && echo 'nothing to do' ||
327 #is_empty $rememberfile && echo 'nothing to do' ||
329 is_not_file
$rememberfile ||
[[ $
(cat $rememberfile |
wc -l) = 0 ]] && echo "nothing to do" || my_display_todo
"$@";
334 local rememberfile
="$HOME/.remember"
336 #[[ $# -eq 0 ]] && more $rememberfile || grep -i "$@" $rememberfile | more;
337 [[ $# -eq 0 ]] && is_file
$rememberfile && is_not_empty_file
$rememberfile && cat $rememberfile ||
grep -i "$@" $rememberfile;
342 #lsbytesum - sum the number of bytes in a directory listing
344 for Bytes
in $
(ls -l |
grep "^-" |
awk '{ print $5 }')
346 let TotalBytes
=$TotalBytes+$Bytes
348 TotalMeg
=$
(echo -e "scale=3 \n$TotalBytes/1048576 \nquit" |
bc)
355 declare -a $listname;
360 sensonet_create_event
() {
361 curl
-i -X "POST" -k -H "Content-Type: application/x-www-form-urlencoded; charset=UTF-8" -H "Accept: application/json" -d "name=$1" http
://projects.emerginov.orange.sn
/sensonet
/resources
/events
/"$2"
364 sensonet_update_event
() {
365 curl
-i -X "PUT" -k -H "Content-Type: application/x-www-form-urlencoded; charset=UTF-8" -H "Accept: application/json" -d "name=$1" http
://projects.emerginov.orange.sn
/sensonet
/resources
/events
/"$2"
369 [[ $# -eq 0 ]] && curl
-i -X "GET" -k -H "Accept: application/json" http
://projects.emerginov.orange.sn
/sensonet
/resources
/events
/ || \
370 curl
-i -X "GET" -k -H "Accept: application/json" http
://projects.emerginov.orange.sn
/sensonet
/resources
/events
/"$1"
373 sensonet_del_event
() {
374 curl
-i -X "DELETE" -k -H "Accept: application/json" http
://projects.emerginov.orange.sn
/sensonet
/resources
/events
/"$1"
377 sensonet_create_sensor
() {
378 curl
-i -X "POST" -k -H "Content-Type: application/x-www-form-urlencoded; charset=UTF-8" -H "Accept: application/json" -d "description=$1" http
://projects.emerginov.orange.sn
/sensonet
/resources
/sensors
/"$2"
381 sensonet_update_sensor
() {
382 curl
-i -X "PUT" -k -H "Content-Type: application/x-www-form-urlencoded; charset=UTF-8" -H "Accept: application/json" -d "description=$1" http
://projects.emerginov.orange.sn
/sensonet
/resources
/sensors
/"$2"
385 sensonet_del_sensor
() {
386 curl
-i -X "DELETE" -k -H "Accept: application/json" http
://projects.emerginov.orange.sn
/sensonet
/resources
/sensors
/"$1"
390 [[ $# -eq 0 ]] && curl
-i -X "GET" -k -H "Accept: application/json" http
://projects.emerginov.orange.sn
/sensonet
/resources
/sensors
/ || \
391 curl
-i -X "GET" -k -H "Accept: application/json" http
://projects.emerginov.orange.sn
/sensonet
/resources
/sensors
/"$1"
394 sensonet_create_network
(){
395 curl
-i -X "POST" -k -H "Content-Type: application/x-www-form-urlencoded" -H "Accept: application/json" -d "name=$1" http
://projects.emerginov.orange.sn
/sensonet
/resources
/networks
/"$2"
398 sensonet_update_network
(){
399 curl
-i -X "PUT" -k -H "Content-Type: application/x-www-form-urlencoded" -H "Accept: application/json" -d "name=$1" http
://projects.emerginov.orange.sn
/sensonet
/resources
/networks
/"$2"
402 sensonet_del_network
(){
403 curl
-i -X "DELETE" -k -H "Accept: application/json" http
://projects.emerginov.orange.sn
/sensonet
/resources
/networks
/"$1"
407 [[ $# -eq 0 ]] && curl
-i -X "GET" -k -H "Accept: application/json" http
://projects.emerginov.orange.sn
/sensonet
/resources
/networks
/ || \
408 curl
-i -X "GET" -k -H "Accept: application/json" http
://projects.emerginov.orange.sn
/sensonet
/resources
/networks
/"$1"
411 sensonet_network_probes
() {
412 curl
-i -X "GET" -k -H "Accept: application/json" http
://projects.emerginov.orange.sn
/sensonet
/resources
/networks
/"$1"/probes
415 sensonet_create_probe
() {
416 curl
-i -X "POST" -k -H "Content-Type: application/x-www-form-urlencoded" -H "Accept: application/json" \
417 -d "name=${1}&latitude=0.0&longitude=0.0&monitorMe=1&sleepingTime=0&networkId=univlab" http
://projects.emerginov.orange.sn
/sensonet
/resources
/probes
/%2B221
"${2}"
420 sensonet_update_probe
() {
421 curl
-i -X "PUT" -k -H "Content-Type: application/x-www-form-urlencoded" -H "Accept: application/json" \
422 -d "name=${1}&latitude=48.0&longitude=-1.0&monitorMe=1&sleepingTime=0" http
://projects.emerginov.orange.sn
/sensonet
/resources
/probes
/%2B221
"${2}"
426 [[ $# -eq 0 ]] && curl
-i -X "GET" -k -H "Accept: application/json" http
://projects.emerginov.orange.sn
/sensonet
/resources
/probes
/ || \
427 curl
-i -X "GET" -k -H "Accept: application/json" http
://projects.emerginov.orange.sn
/sensonet
/resources
/probes
/%2B221
"${1}"
430 sensonet_del_probe
() {
431 curl
-i -X "DELETE" -k -H -H "Accept: application/json" http
://projects.emerginov.orange.sn
/sensonet
/resources
/probes
/%2B221
"${2}"
434 sensonet_probe_neighborhood
(){
435 curl
-i -X "GET" -k -H "Accept: application/json" http
://projects.emerginov.orange.sn
/sensonet
/resources
/probes
/%2B221
"${1}"/neighborhood
438 sensonet_probe_set_sleeping_time
(){
439 curl
-i -X "POST" -k -H "Content-Type: application/x-www-form-urlencoded" -H "Accept: application/json" -d "duration=${2}" http
://projects.emerginov.orange.sn
/sensonet
/resources
/probes
/%2B221
"${1}"/sleepingtime
442 sensonet_probe_sensors
(){
443 [[ $# -eq 1 ]] && curl
-i -X "GET" -k -H "Accept: application/json" http
://projects.emerginov.orange.sn
/sensonet
/resources
/probes
/%2B221
"${1}"/sensors || \
444 curl
-i -X "GET" -k -H "Accept: application/json" http
://projects.emerginov.orange.sn
/sensonet
/resources
/probes
/%2B221
"${1}"/sensors
/"${2}"
447 sensonet_probe_sensor_values
(){
448 curl
-i -X "GET" -k -H "Accept: application/json" http
://projects.emerginov.orange.sn
/sensonet
/resources
/probes
/%2B221
"${1}"/sensors
/"${2}"/values