i进击的攻城狮 2022-03-08 18:06 采纳率: 97.9%
浏览 19
已结题

linux的shell脚本,怎么读取外部配置文件呢?

我有一个需求,需要编写一个脚本,通过判断当前机器的ip,更具ip做出不同的行为,我想把ip地址分类配置到一个配置文件里面,读取配置文件,然后和当前ip地址做对比,然后执行不同的动作

  • 写回答

2条回答 默认 最新

  • i进击的攻城狮 Java领域新星创作者 2022-03-22 16:34
    关注
    
    get_value_of_properties_file() {
      result=""
      proFilePath="$1"
      key="$2"
        if [ "WJA${key}" = "WJA" ]; then
        echo "参数错误,未能指定有效Key。"
        echo "" >&2
        exit 1
      fi
      if [ ! -f ${proFilePath} ]; then
        echo "属性文件(${proFilePath})不存在。"
        echo "" >&2
        exit 1
      fi
      if [ ! -r ${proFilePath} ]; then
        echo "当前用户不具有对属性文件(${proFilePath})的可读权限。"
        echo "" >&2
        exit 1
      fi
      keyLength=$(echo ${key}|wc -L)
      lineNumStr=$(cat ${proFilePath} | wc -l)
      lineNum=$((${lineNumStr}))
      for ((i = 1; i <= ${lineNum}; i++)); do
        oneLine=$(sed -n ${i}p ${proFilePath})
        if [ "${oneLine:0:((keyLength))}" = "${key}" ] && [ "${oneLine:$((keyLength)):1}" = "=" ]; then
          result=${oneLine#*=}
          break
        fi
      done
      echo ${result}
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月30日
  • 已采纳回答 3月22日
  • 创建了问题 3月8日

悬赏问题

  • ¥15 运动想象脑电信号数据集.vhdr
  • ¥15 三因素重复测量数据R语句编写,不存在交互作用
  • ¥15 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目