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