Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unix 如何防止grep打断ksh脚本中的行?_Unix_Scripting_Grep_Ksh - Fatal编程技术网

Unix 如何防止grep打断ksh脚本中的行?

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 我有点困惑,为什么它一次

我试图修改一个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
我有点困惑,为什么它一次只打印一块。如果任何人有任何解释/修改,将不胜感激

简单地做
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