Unix 如何防止grep打断ksh脚本中的行?
我试图修改一个ksh脚本,以打印出包含短语“/var/corefiles”的行。我对脚本编写还比较陌生,所以这让我很恼火。例如,如果文件中有以下行Unix 如何防止grep打断ksh脚本中的行?,unix,scripting,grep,ksh,Unix,Scripting,Grep,Ksh,我试图修改一个ksh脚本,以打印出包含短语“/var/corefiles”的行。我对脚本编写还比较陌生,所以这让我很恼火。例如,如果文件中有以下行 /dev/x /dev/x2 /var/corefiles yes 我用这个做循环: for $host in $(grep "var/corefiles" $VFSTAB_LOC); do echo $i done 它输出: /dev/x /dev/x2 /var/corefiles yes 我有点困惑,为什么它一次
/dev/x /dev/x2 /var/corefiles yes
我用这个做循环:
for $host in $(grep "var/corefiles" $VFSTAB_LOC); do
echo $i
done
它输出:
/dev/x
/dev/x2
/var/corefiles
yes
我有点困惑,为什么它一次只打印一块。如果任何人有任何解释/修改,将不胜感激 简单地做grep“var/corefiles”$VFSTAB\u LOC
(不带for
或echo
)会做你想做的事情。简单地做grep“var/corefiles”$VFSTAB\u LOC
(不带for
或echo
)会做你想做的事情
grep "var/corefiles" $VFSTAB_LOC | while read line; do
echo "$line"
done
或者在最近的抨击中
readarray mylines < grep "var/corefiles" $VFSTAB_LOC
for line in "${mylines[@]}"; do
echo "$line"
done
readarray mylines
或者在最近的抨击中
readarray mylines < grep "var/corefiles" $VFSTAB_LOC
for line in "${mylines[@]}"; do
echo "$line"
done
readarray mylines
我有一种感觉,那就是“回声”仅仅是他在循环中真正做了什么的简化演示:)即使不尝试,我也会“忍受”吉戈。我试着运用一些普通的人工智能思维,我是个笨蛋。谢谢是的,echo是其他一切的占位符:)我有一种感觉,“echo”只是他在循环中真正做了什么的简化演示:)我“忍受”了GIGO,即使没有尝试。我试着运用一些普通的人工智能思维,我是个笨蛋。谢谢是的,echo是其他一切的占位符:)我想我现在是:)第一个选项与Korn shell一起工作,IIRCI假设我现在是:)第一个选项与Korn shell一起工作,IIRC