linux - 将值保存到 linux bash do 循环内的变量

标签 linux bash redhat

我需要定义一个全局变量以供进一步引用

这是我的代码

    # .bashrc
    LOCAL_CONF_DIR='/var/www/vhosts/vhost/test.conf'

   cat ${LOCAL_CONF_DIR} | while read LINE
   do
   if [ "ServerName" == "${LINE:0:10}" ]; then
       s=( $LINE )
       SERVER_NAME=$s[1];
   fi
   done
echo $SERVER_NAME

不适用于我的 RHE Linux 6.0

非常感谢;)

最佳答案

您的 if 语法 不正确,您的循环不应使用 cat。使用此代码:

SERVER_NAME=""
while read -r LINE
do
   if [ "${LINE:0:10}" = "ServerName" ]; then
       SERVER_NAME="${LINE:10}"
   fi
done < "${LOCAL_CONF_DIR}"

echo "$SERVER_NAME"

关于linux - 将值保存到 linux bash do 循环内的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20054960/

相关文章:

linux - 如何将带有国家字符的Linux Python 3.4代码转换成windows中的可执行代码

c - 设置边界保护数组

linux - grep - 删除包含除指定字符以外的任何内容的行

linux - 使用 -n 替换后的空白 sed 输出

python - Cronjob - 如何输出 stdout 并忽略 stderr

linux - 如何在 Linux 中永久导出变量?

linux - 网络错误 : Connection Refused in AWS EC2 Instance

bash - 如何让 source 命令在 shell 脚本之外生效?

java - JBoss集群和RHCS有什么区别?

linux - 进程被 Linux 操作系统杀死 - 没有 OOM 登录/var/日志文件