微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

的bash变量可以是多行吗?

我写了一个脚本来列出路径条目并按关键字过滤它们.我设法使其正常工作,但是我不得不将清单写入一个临时文件中,因为在保持换行的同时我无法将其存储在内存中.是否有更好/更合适的解决方案?

 #! /bin/bash
tr ':' '\n' <<< $PATH > tmp
if (( $# > 0 )); then
  for W
  do
    grep $W < tmp
  done
else
  cat tmp
fi
rm tmp

解决方法:

是的,变量可以包含换行符.您需要在使用变量时引用它.您的脚本可以写成:

tmp=$(tr ':' '\n' <<< $PATH)
if (( $# > 0 )); then
  for W; do
    grep $W <<< "$tmp"
  done
else
  echo "$tmp"
fi

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐