我只想验证我编写的脚本是否正在执行我认为正在执行的操作,并且是否正确执行了该操作。
我想编写一个脚本,该脚本需要一个环境变量和一个字符串值,然后将该变量设置为给定值。所以我可以做类似的事情setvar BOOST_HOME /home/me/boost/boost_1.52.0
,脚本将export BOOST_HOME=/home/me/boost/boost_1.52.0
就像是:
#!/bin/bash
# Usage: setvar VAR VAR_VALUE
function setvar()
{
VAR=${1}
VAR_VALUE=${2}
if [ -d $2 ]
then
eval export $VAR=$2
fi
}
至少从回声echo
测试来看,这似乎可行,但是我对shell脚本仍然不太满意,并且希望有人要么验证我在做什么,要么指出我在做错/不太正确。
您不需要评估。
setvar() {
if [[ -d $2 ]]; then
export "$1=$2"
fi
}
使用[[
而不是代替[
可以避免引用$2
,因为bash(和其他shell)扩展名[[
不会对内部参数扩展进行单词拆分。如果我坚持使用老式的[ -d "$2" ]
,我将不得不引用$2
,以防其值包含空格。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句