关键词:
# [] source bash_var.sh
check_var ()
varname=$1
varvalue=$!1
echo "# check_var function #"
echo "varname="$varname
echo "varvalue="$varvalue
if [ -z $varvalue ]; then
echo $varname "not set and will be set to value" \'$2\'
declare -g $varname=$2
# must give '-g' or the variable will be local
# identical # declare -g $1=$2
# eval is dangerous # eval $1='$2'
else
echo $varname "is set to value" \'$varvalue\'
fi
echo
unset TEST_VAR1
unset TEST_VAR2
unset TEST_VAR3
TEST_VAR1="test1"
TEST_VAR2=" "
set | grep TEST_VAR1
set | grep TEST_VAR2
set | grep TEST_VAR3
echo
check_var TEST_VAR1 already
check_var TEST_VAR2 test2
check_var TEST_VAR3 test3
set | grep TEST_VAR1
set | grep TEST_VAR2
set | grep TEST_VAR3
# before ! first ! run this script
# [] set > set_default
# run script
# [] source bash_set.sh
test_function()
echo "test function"
TEST_VARF="testf"
TEST_VAR1="test1"
TEST_VAR2="test2"
set | grep TEST_VAR1
set | grep TEST_VAR2
set | grep test_function
set | grep TEST_VARF
echo
unset TEST_VAR2
unset test_function
set | grep TEST_VAR1
set | grep TEST_VAR2
set | grep test_function
set | grep TEST_VARF
echo
unset COMPREPLY
_kernel_versions
echo $COMPREPLY
# array without an index only gives the first element
unset 'COMPREPLY[0]'
_ip_addresses
echo $COMPREPLY[0]
if [ -z "$TEST_VAR1" ]; then
echo "TEST_VAR1 not set"
else
echo "TEST_VAR1 is set"
fi
if [ -z "$TEST_VAR2" ]; then
echo "TEST_VAR2 not set"
else
echo "TEST_VAR2 is set"
fi
echo
unset TEST_VAR2
# TEST_VAR2 will set to the value "" only if it is unset
: $TEST_VAR2=""
set | grep TEST_VAR2
: $TEST_VAR2="empty string"
set | grep TEST_VAR2
# TEST_VAR2 set to "" if TEST_VAR2 is unset or the empty string
: $TEST_VAR2:="test2"
set | grep TEST_VAR2
: $TEST_VAR2:="already exists"
set | grep TEST_VAR2
echo; echo "### diff ###"
set > set_after
diff set_default set_after
# [] source bash_mucha.sh
#
# see in /etc/profile function "pathmunge"
check_var ()
varname=$1
varvalue=$!1
echo "# check_var function #"
echo "varname="$varname
echo "varvalue="$varvalue
if [ -z $varvalue ]; then
echo $varname "not set and will be set to value" \'$2\'
declare -g $varname=$2
elif [[ $!1 != *$2* ]]; then
echo $varname "value" \'$varvalue\' "without" \'$2\'
echo "TERBA DODAT"
declare -g $varname=$varvalue"-AND-"$2
else
echo $varname "value" \'$varvalue\' "already contain" \'$2\'
echo "UZ OBSAHUJE"
fi
echo
unset TEST_VAR1
unset TEST_VAR2
unset TEST_VAR3
TEST_VAR1="test1"
TEST_VAR2="test2"
set | grep TEST_VAR1
set | grep TEST_VAR2
set | grep TEST_VAR3
echo
check_var TEST_VAR1 test1
check_var TEST_VAR2 more2
check_var TEST_VAR3 test3
set | grep TEST_VAR1
set | grep TEST_VAR2
set | grep TEST_VAR3
echo;echo;echo
check_var TEST_VAR1 most1
check_var TEST_VAR2 most2
check_var TEST_VAR3 test3
set | grep TEST_VAR1
set | grep TEST_VAR2
set | grep TEST_VAR3
shbash脚本(代码片段)
查看详情
shbash脚本(代码片段)
查看详情
shbash脚本模板(代码片段)
查看详情
shbash脚本1(代码片段)
查看详情
shbash的实用脚本代码(代码片段)
查看详情
shbash备份轮换脚本(代码片段)
查看详情
shbash脚本killx(代码片段)
查看详情
shbash脚本导入mccity(代码片段)
查看详情
shbash单文件备份旋转脚本(代码片段)
查看详情
shbash脚本-使用find递归列出(代码片段)
查看详情
shbash-通过sed替换行脚本(代码片段)
查看详情
shbash脚本中的命名参数(代码片段)
查看详情
shbash脚本安装最新的wordpress+插件(代码片段)
查看详情
shbash插入用于编写脚本的哈希符号(代码片段)
查看详情
shbash|ubuntu的自定义配置脚本(代码片段)
查看详情
shbash脚本备份所有mysql数据库(代码片段)
查看详情
shbash脚本将hugo升级到给定版本(代码片段)
查看详情
shbash脚本帮助更新asdf中的插件版本(代码片段)
查看详情