Skip to content

Commit

Permalink
make shell scripts pipe aware
Browse files Browse the repository at this point in the history
  • Loading branch information
javier-lopez committed Apr 28, 2014
1 parent 66725fb commit b8a73a5
Show file tree
Hide file tree
Showing 52 changed files with 1,037 additions and 682 deletions.
28 changes: 24 additions & 4 deletions sh/is/backup-remote-rsync
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,31 @@

_basename()
{
[ -z "${1}" ] && return 1
case "${1}" in
/*|*/*) expr "${1}" : '.*/\([^/]*\)' ;;
*) printf "%s\\n" "${1}";;
[ -z "${1}" ] && return 1 || _basename_var_1="${1}"
[ -z "${2}" ] || _basename_var_suffix="${2}"
case "${_basename_var_1}" in
/*|*/*) _basename_var_1="$(expr "${_basename_var_1}" : '.*/\([^/]*\)')" ;;
esac

if [ -n "${_basename_var_suffix}" ] && [ "${#_basename_var_1}" -gt "${#2}" ]; then
if [ X"$(printf "%s" "${_basename_var_1}" | cut -c"$((${#_basename_var_1} - ${#_basename_var_suffix} + 1))")" \
= X"$(printf "%s" "${_basename_var_suffix}" | cut -c1)" ]; then
while [ "${#_basename_var_suffix}" -gt "0" ]; do
if [ X"$(printf "%s" "${_basename_var_1}" | cut -c"${#_basename_var_1}")" \
= X"$(printf "%s" "${_basename_var_suffix}" | cut -c"${#_basename_var_suffix}")" ]; then
_basename_var_1="$(printf "%s" "${_basename_var_1}" | cut -c1-"$((${#_basename_var_1} - 1))")"
_basename_var_suffix_len="$((${#_basename_var_suffix} - 1))"
if [ "${_basename_var_suffix_len}" -gt "0" ]; then
_basename_var_suffix="$(printf "%s" "${_basename_var_suffix}" | cut -c1-"${_basename_var_suffix_len}")"
else
_basename_var_suffix=""
fi
fi
done
fi
fi

printf "%s\\n" "${_basename_var_1}"
}

exec 9>/tmp/"$(_basename "${0}")".lock #verify that only one instance is running
Expand Down
28 changes: 24 additions & 4 deletions sh/is/dump-dbs
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,31 @@ DBPASSWD="passwd"

_basename()
{
[ -z "${1}" ] && return 1
case "${1}" in
/*|*/*) expr "${1}" : '.*/\([^/]*\)' ;;
*) printf "%s\\n" "${1}";;
[ -z "${1}" ] && return 1 || _basename_var_1="${1}"
[ -z "${2}" ] || _basename_var_suffix="${2}"
case "${_basename_var_1}" in
/*|*/*) _basename_var_1="$(expr "${_basename_var_1}" : '.*/\([^/]*\)')" ;;
esac

if [ -n "${_basename_var_suffix}" ] && [ "${#_basename_var_1}" -gt "${#2}" ]; then
if [ X"$(printf "%s" "${_basename_var_1}" | cut -c"$((${#_basename_var_1} - ${#_basename_var_suffix} + 1))")" \
= X"$(printf "%s" "${_basename_var_suffix}" | cut -c1)" ]; then
while [ "${#_basename_var_suffix}" -gt "0" ]; do
if [ X"$(printf "%s" "${_basename_var_1}" | cut -c"${#_basename_var_1}")" \
= X"$(printf "%s" "${_basename_var_suffix}" | cut -c"${#_basename_var_suffix}")" ]; then
_basename_var_1="$(printf "%s" "${_basename_var_1}" | cut -c1-"$((${#_basename_var_1} - 1))")"
_basename_var_suffix_len="$((${#_basename_var_suffix} - 1))"
if [ "${_basename_var_suffix_len}" -gt "0" ]; then
_basename_var_suffix="$(printf "%s" "${_basename_var_suffix}" | cut -c1-"${_basename_var_suffix_len}")"
else
_basename_var_suffix=""
fi
fi
done
fi
fi

printf "%s\\n" "${_basename_var_1}"
}

exec 9>/var/run/$(_basename ${0}).lock #verify only one instance is running
Expand Down
6 changes: 3 additions & 3 deletions sh/is/kernel-ck-ubuntu
Original file line number Diff line number Diff line change
Expand Up @@ -319,7 +319,7 @@ _waitfor bunzip2 patch-${patchck}.bz2; [ ! -f patch-"${patchck}" ] && _di

_printfs "moving to ${tmp_path}/linux-${patchkernel}-${ckk}"
_waitfor rm -rf linux-${patchkernel}-${ckk}
_waitfor cp -R linux-${kernel} linux-${patchkernel}-${ckk}
_waitfor cp -R -- linux-${kernel} linux-${patchkernel}-${ckk}
_cmd cd linux-${patchkernel}-${ckk}

_printfs "applying patches ..."
Expand All @@ -339,7 +339,7 @@ _printfs "downloading optimized config from http://repo-ck.com ... "

#for now use config mirrored from http://repo-ck.com/
_waitfor wget "http://javier.io/mirror/${kernel}/config.${arqt}"
_cmd cp "config.${arqt}" .config
_cmd cp -- "config.${arqt}" .config

##tmp fix for bug #663474, disable lguest hypervisor, http://lguest.ozlabs.org/lguest.txt
##http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=663474
Expand Down Expand Up @@ -379,6 +379,6 @@ printf "\\n" | _cmd fakeroot make-kpkg --initrd kernel_image kernel_headers modu

_printfl "DONE"
_printfs "copying debs files ..."
_cmd cp ../linux-*.deb "${curr_path}"
_cmd cp -- ../linux-*.deb "${curr_path}"
_printfs "you may want to install the generated packages and reboot your system, run: $ sudo dpkg -i linux-*.deb"
_printfs "have fun ^_^!"
2 changes: 1 addition & 1 deletion sh/is/log-stack
Original file line number Diff line number Diff line change
Expand Up @@ -1751,7 +1751,7 @@ _redis()
make -C ./redis-${redis_version} > /dev/null 2>&1

printf "%s\\n" "[+] installing redis ... "
_cmd cp redis.conf ./redis-${redis_version}
_cmd cp -- redis.conf ./redis-${redis_version}
_cmdsudo mkdir -p /etc/redis/
_cmdsudo mv redis.conf /etc/redis/
_cmdsudo mv redis /etc/init.d/redis
Expand Down
28 changes: 24 additions & 4 deletions sh/is/lp-g9n-team
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,31 @@

_basename()
{
[ -z "${1}" ] && return 1
case "${1}" in
/*|*/*) expr "${1}" : '.*/\([^/]*\)' ;;
*) printf "%s\\n" "${1}";;
[ -z "${1}" ] && return 1 || _basename_var_1="${1}"
[ -z "${2}" ] || _basename_var_suffix="${2}"
case "${_basename_var_1}" in
/*|*/*) _basename_var_1="$(expr "${_basename_var_1}" : '.*/\([^/]*\)')" ;;
esac

if [ -n "${_basename_var_suffix}" ] && [ "${#_basename_var_1}" -gt "${#2}" ]; then
if [ X"$(printf "%s" "${_basename_var_1}" | cut -c"$((${#_basename_var_1} - ${#_basename_var_suffix} + 1))")" \
= X"$(printf "%s" "${_basename_var_suffix}" | cut -c1)" ]; then
while [ "${#_basename_var_suffix}" -gt "0" ]; do
if [ X"$(printf "%s" "${_basename_var_1}" | cut -c"${#_basename_var_1}")" \
= X"$(printf "%s" "${_basename_var_suffix}" | cut -c"${#_basename_var_suffix}")" ]; then
_basename_var_1="$(printf "%s" "${_basename_var_1}" | cut -c1-"$((${#_basename_var_1} - 1))")"
_basename_var_suffix_len="$((${#_basename_var_suffix} - 1))"
if [ "${_basename_var_suffix_len}" -gt "0" ]; then
_basename_var_suffix="$(printf "%s" "${_basename_var_suffix}" | cut -c1-"${_basename_var_suffix_len}")"
else
_basename_var_suffix=""
fi
fi
done
fi
fi

printf "%s\\n" "${_basename_var_1}"
}

_usage()
Expand Down
28 changes: 24 additions & 4 deletions sh/is/share-backup
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,31 @@ fi

_basename()
{
[ -z "${1}" ] && return 1
case "${1}" in
/*|*/*) expr "${1}" : '.*/\([^/]*\)' ;;
*) printf "%s\\n" "${1}";;
[ -z "${1}" ] && return 1 || _basename_var_1="${1}"
[ -z "${2}" ] || _basename_var_suffix="${2}"
case "${_basename_var_1}" in
/*|*/*) _basename_var_1="$(expr "${_basename_var_1}" : '.*/\([^/]*\)')" ;;
esac

if [ -n "${_basename_var_suffix}" ] && [ "${#_basename_var_1}" -gt "${#2}" ]; then
if [ X"$(printf "%s" "${_basename_var_1}" | cut -c"$((${#_basename_var_1} - ${#_basename_var_suffix} + 1))")" \
= X"$(printf "%s" "${_basename_var_suffix}" | cut -c1)" ]; then
while [ "${#_basename_var_suffix}" -gt "0" ]; do
if [ X"$(printf "%s" "${_basename_var_1}" | cut -c"${#_basename_var_1}")" \
= X"$(printf "%s" "${_basename_var_suffix}" | cut -c"${#_basename_var_suffix}")" ]; then
_basename_var_1="$(printf "%s" "${_basename_var_1}" | cut -c1-"$((${#_basename_var_1} - 1))")"
_basename_var_suffix_len="$((${#_basename_var_suffix} - 1))"
if [ "${_basename_var_suffix_len}" -gt "0" ]; then
_basename_var_suffix="$(printf "%s" "${_basename_var_suffix}" | cut -c1-"${_basename_var_suffix_len}")"
else
_basename_var_suffix=""
fi
fi
done
fi
fi

printf "%s\\n" "${_basename_var_1}"
}

exec 9> /tmp/$(_basename ${0}).lock #verify only one instance is running
Expand Down
1 change: 1 addition & 0 deletions sh/is/update-firefox-nightly
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ _notify()
[ -z "${1}" ] && return 1
[ -z "${2}" ] && return 1
if [ X"${TERM}" = X"linux" ] || [ -z "${TERM}" ]; then
kill -9 $(pgrep notify-osd) >/dev/null 2>&1
if ! DISPLAY=:0 notify-send -t 1000 "${1}" "${2}"; then
if command -v "gxmessage" 2>/dev/null; then
font="Monaco 9"
Expand Down
5 changes: 3 additions & 2 deletions sh/lib
Original file line number Diff line number Diff line change
Expand Up @@ -652,13 +652,14 @@ _notify()
[ -z "${1}" ] && return 1
[ -z "${2}" ] && return 1
if [ X"${TERM}" = X"linux" ] || [ -z "${TERM}" ]; then
kill -9 $(pgrep notify-osd) >/dev/null 2>&1
if ! DISPLAY=:0 notify-send -t 1000 "${1}" "${2}"; then
if command -v "gxmessage" 2>/dev/null; then
font="Monaco 9"
gxmessage "${font:+-fn "$font"}" "${1} ${2}" "got it"
gxmessage "${font:+-fn "$font"}" "${1} ${2}" "ok"
else
font="fixed"
xmessage "${font:+-fn "$font"}" "${1} ${2}" "got it"
xmessage "${font:+-fn "$font"}" "${1} ${2}" "ok"
fi
fi
else
Expand Down
2 changes: 1 addition & 1 deletion sh/patches/pbuilder-buildpackage
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,7 @@ if [ -d "${BUILDRESULT}" ]; then
chgrp "${BUILDRESULTGID}" "${BUILDPLACE}"/tmp/buildd/*
for FILE in "${BUILDPLACE}"/tmp/buildd/*; do
if [ -f "${FILE}" ]; then
cp -p "${FILE}" "${BUILDRESULT}" || true
cp -p -- "${FILE}" "${BUILDRESULT}" || true
fi
done
else
Expand Down
33 changes: 27 additions & 6 deletions sh/tools/bin-dpkg-rdeps
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,35 @@
#libc6-armhf-cross
#libc6-i386

if ! command -v "apt-file" >/dev/null; then
printf "%s\\n" "apt-file not found: $ sudo apt-get install apt-file"
exit 1
_rdeps()
{
for _rdeps_var_binary; do
fpath="$(command -v "${_rdeps_var_binary}")"
if [ -z "${fpath}" ]; then
fpath="${_rdeps_var_binary}"
[ ! -f "${fpath}" ] && continue
fi

if [ -n "${fpath}" ]; then
if ldd "${fpath}" >/dev/null 2>/dev/null; then
ldd "${fpath}" | sort -n | uniq | awk '{print $1}' | xargs -i apt-file search {} | cut -d':' -f1 | sort | uniq
else
printf "$(expr "${0}" : '.*/\([^/]*\)'): %s\\n" "not a dynamic executable '${fpath}'" >&2
fi
fi
done
}

if [ ! -t 0 ]; then
#there is input comming from pipe or file, add to the end of $@
set -- $(for arg in "${@}"; do printf "%s\\n" "${arg}"; done) $(cat)
fi

if [ "${#}" -lt "1" ]; then
printf "%s\\n" "usage: $(expr "${0}" : '.*/\([^/]*\)') binary"
[ "${#}" -eq "0" ] && { printf "Usage: %s\\n" "$(expr "${0}" : '.*/\([^/]*\)') binary ..." >&2; exit 1; }

if ! command -v "apt-file" >/dev/null 2>&1; then
printf "%s\\n" "apt-file not found: $ sudo apt-get install apt-file" >&2
exit 1
fi

ldd "$(command -v "${1}")" | sort -n | uniq | awk '{print $1}' | xargs -i apt-file search {} | cut -d':' -f1 | sort | uniq
_rdeps "${@}"
17 changes: 9 additions & 8 deletions sh/tools/cat-show
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,17 @@
#code
#...

program="${1}"
if [ ! -t 0 ]; then
#there is input comming from pipe or file, add to the end of $@
set -- $(for arg in "${@}"; do printf "%s\\n" "${arg}"; done) $(cat)
fi

_usage()
{
printf "%s\\n" "Usage: $(expr "${0}" : '.*/\([^/]*\)') program"
exit 0
}
program="${1}"

[ -n "${program}" ] || _usage
[ "${#}" -eq "0" ] && { printf "%s\\n" "Usage: $(expr "${0}" : '.*/\([^/]*\)'): program" >&2; exit 1; }

if command -v "${program}" 2>/dev/null; then
if command -v "${program}" >/dev/null 2>&1; then
less "$(command -v "${program}" 2>/dev/null)"
else
printf "$(expr "${0}" : '.*/\([^/]*\)'): %s\\n" "program '${program}' was not found in PATH" >&2
fi
Loading

0 comments on commit b8a73a5

Please sign in to comment.