我希望所有变量名都在shell脚本中设置。我有一个包含键值对的文件,我从该文件中读取内容并存储/设置为变量。如果变量可用/设置,我想做一些过程,否则我不需要做这些过程。如何实现这一目标。
例如,我在每次迭代中在shell脚本中运行循环,它给出了一个在该命令之前设置的变量。
如果是这样的代码
a=test1
b=test2
c=test3
for i in ???
do
echo $i
done
然后我想要这样的输出
一 b ç
使用什么命令来实现这一点。
答案 0 :(得分:1)
您可以在设置变量
之前和之后使用set
e.g:
$ set > aux1
$ c=345
$ set > aux2
$ diff aux1 aux2
57c57
< PIPESTATUS=([0]="141" [1]="0")
---
> PIPESTATUS=([0]="0")
112a113
> c=345
答案 1 :(得分:0)
如果您有这样的变量的预定义列表,那么您可以像这样测试它:
for i in $(echo "a b c"); do
echo $i
done
答案 2 :(得分:0)
如果我可以帮到你:
#!/bin/sh
# Define list of tests
LIST_TESTS=`cat list_test.txt`
for TEST in ${LIST_TESTS}
do
vartest=`echo ${TEST}`
if [ "${vartest}" = "" ]
# No Test
then
echo "*** WARNING*** Test not found"
else
echo "${vartest} is available"
fi
done
# Second Define list of tests
tabTest=('test1' 'test2' 'test3')
i=0
while [ "${tabTest[$i]}" != "" ]
do
echo "${tabTest[$i]} is available"
i=$(($i+1))
done