# ucfirst() -- Make a string's first character uppercase
# Usage: ucfirst string
# depend: strtoupper(): http://www.ronggeng.net/index.php/2009/04/24/strtoupper/
#
# Example:
#
# ucfirst "test test test";
#
if [ -n "${BASH_VERSINFO[0]}" ] && [ ${BASH_VERSINFO[0]} -gt 3 ]; then
# Updated: 20-Aug-2009 - for bash version 4
ucfirst() {
[ $# -eq 1 ] || return 1;
echo ${1^};
return 0;
}
else
ucfirst() {
[ $# -eq 1 ] || return 1;
! type -t strtoupper &>/dev/null && return 1;
echo "$(strtoupper "${1:0:1}")${1:1:${#1}}";
return 0;
}
fi
Category Archives: bash
ucwords()
# ucwords() -- Uppercase the first character of each word in a string
# Usage: ucwords string
# depend: strtoupper(): http://www.ronggeng.net/index.php/2009/04/24/strtoupper/
#
# Example:
#
# ucwords "test test test";
#
ucwords() {
[ $# -eq 1 ] || return 1;
! type -t strtoupper &>/dev/null && return 1;
local _x _c _p _ret="" _str="$1";
_p=0;
for ((_x=0;_x<${#_str};_x++)); do
_c=${_str:$_x:1};
if [ "$_c" != " " ] && [ "$_p" = "0" ]; then
_ret+="$(strtoupper "$_c")";
_p=1;continue;
fi;
[ "$_c" = " " ] && _p=0;
_ret+="$_c";
done;
if [ -n "${_ret:-}" ]; then
echo "${_ret}";
return 0;
fi;
return 1;
}
_execq()
# _execq() -- Execute command and silent output
# Usage: _execq command
#
# Example:
#
# if _execq "/bin/ps auwx"; then
# echo "ps OK";
# fi
#
_exeq() {
local cmd=$@;
$cmd &>/dev/null;
return $?;
}
rm_str()
# rm_str() -- Remove string/character from string
# Usage: rm_str string string
#
# Example 1:
#
# echo $(rm_str "pungkok hang" "pungkok");
#
# Example 2:
#
# string="$(rm_str "pungkok hang" "pungkok")";
# echo $string;
rm_str() {
local _str="$1";
local _chr="$2";
[ -z "$_chr" ] && _chr='"';
if [ -n "$_str" -a -n "$_chr" ]; then
echo ${_str//$_chr};
return 0;
fi;
return 1;
}
lcfirst()
# lcfirst() -- Make a string's first character lowercase
# Usage: lcfirst string
# depend: strtolower(): http://www.ronggeng.net/index.php/2009/04/24/strtolower/
#
# Example:
#
# lcfirst "test test test";
#
if [ -n "${BASH_VERSINFO[0]}" ] && [ ${BASH_VERSINFO[0]} -gt 3 ]; then
# Updated: 20-Aug-2009 - for bash version 4
lcfirst() {
[ $# -eq 1 ] || return 1;
echo ${1,};
return 0;
}
else
lcfirst() {
[ $# -eq 1 ] || return 1;
! type -t strtolower &>/dev/null && return 1;
echo "$(strtolower "${1:0:1}")${1:1:${#1}}";
return 0;
}
fi
str_repeat()
# str_repeat() -- Repeat a string
# Usage: str_repeat input multiplier
# depend: is_num(): http://www.ronggeng.net/index.php/2009/04/24/is_num/
#
# Example:
#
# str_repeat "test test test" 10;
#
str_repeat() {
[ $# -eq 2 ] || return 1;
! is_num "$2" && return 1;
local _cnt _ret="";
while ((_cnt < $2 )); do
_ret+="$1";
((_cnt++));
done;
echo "$_ret";
return 0;
}
is_num()
# is_num() -- Check if input is number between 0-9
# Usage: is_num input
#
# Example:
#
# if is_num 200; then
# echo "OK";
# fi
#
is_num() {
[ $# -eq 1 ] || return 1;
[[ $1 =~ ^([0-9]+)$ ]] && return 0;
return 1;
}