1

我遇到了这个问题:当我将变量放入外部“configstyle”文件并导入带有. /var/scripts/siDiagConfig.sh变量的文件时无法正常工作......就像我有一个变量被调用MTU=1500,当我回显它时,它会打印“1500” , 哪个是对的。但是,当我想在 grep 命令中使用变量时,例如somethingawesome | grep ${MTU} -c无法正确识别该变量。在此示例中,控制台打印 0,而不是 2...当我用 重新分配变量时MTU=1500,代码可以正常工作...。知道吗,我可能错过了什么?

有没有其他方法,我可以把我的变量放在一个外部文件中?

我的 siDiagConfig.sh 文件:

#!/bin/bash
....
export MTU=1500
....

编辑(解决方案):

我记得,我在 Windows 系统上创建了该文件。我只是复制了 siDiagConfig.sh 中的代码,在 unix 系统上创建了一个新文件,然后将代码粘贴到那里。现在它可以正常工作了=)

谢谢您的帮助!

4

2 回答 2

0

[gigauser@gigabox : /scm/gigafolder/toratora/test_aks]

猫 conf.config ; 回声-----;猫 testfile.txt ; 回声 ------; 猫主文件.sh ; 回声--------; ./mainfile.sh

出口 GIGA=giga
出口 fifa=FIFA


我是 GIGA
我喜欢国际足联


 #!/bin/bash

. conf.config

echo GIGA = $GIGA
echo fifa = $fifa

cat -n testfile.txt


echo
echo -- Now lets grep = $GIGA with case insensitive On
echo

echo -`grep -in "${GIGA}" testfile.txt`-; 
echo =`grep -ic  "${GIGA}" testfile.txt`=
echo
echo Now again but with case insensitive Off
echo -`grep -n "${GIGA}" testfile.txt`-;
echo =`grep -c  "${GIGA}" testfile.txt`=


GIGA = giga
fifa = FIFA
1 我是 GIGA
2 我喜欢fifa


-- 现在让 grep = giga 不区分大小写 On


-1:I'm GIGA-
=1=

现在再次但不区分大小写 Off
--
=0=
[ gigauser@gigabox : /scm/gigafolder/toratora/test_aks]
>

于 2013-06-18T20:34:36.810 回答
0

由于将评论标记为答案的功能请求仍然被拒绝,因此我在此处复制上述解决方案。

是的; 那 \r 是麻烦。这是一个回车。在 Unix 上执行之前将 DOS 文件转换为 Unix 文件。——乔纳森·莱弗勒

好的,现在我想起来了,我在 Windows 系统上创建了该文件。我只是复制了 siDiagConfig.sh 中的代码,在 unix 系统上创建了一个新文件,然后将代码粘贴到那里。没有任何问题就不能工作=)感谢您的帮助!– 西蒙斯0n

于 2013-11-18T12:05:09.400 回答