linux for循环脚本异常,Linux shell脚本:grep不能在for循环中工作

作者在Linux shell脚本中遇到问题,grep命令在for循环外正常工作,但在循环内部却未执行。讨论了可能的原因,涉及头文件搜索和用户输入控制。寻求解决grep在循环中的执行问题和可能的输入处理技巧。
摘要由CSDN通过智能技术生成

当我在TEST(第18行)中使用grep时,它完美地工作。当我执行完全相同的命令时,但在for循环(第40行)内,它不起作用。为什么?现在我已经把这个问题放在头脑上了。Linux shell脚本:grep不能在for循环中工作

#!/bin/bash

clear

sourcelist=`ls *.c`

headerlist=`ls *.h`

FILE="headers.txt"

TEST="receive_elevator_data" #this is one typical entry in headers.tex

echo "TEST"

grep $TEST *.c -n

MODE="h"

if [ "$MODE" = "h" ]

then

echo "Searching.."

#for entry in $(cut -f 1 $FILE)

for entry in `cat $FILE`

do

echo "Looking at entry in $FILE: "

echo $entry

echo "Press any button to search, for skip, to exit"

read -e INPUT2

if [ "$INPUT2" = "s" ]

then

continue

fi

if [ "$INPUT2" = "n" ]

then

exit 1 #exit shell script

else

grep -n "${entry}" ${sourcelist}

fi

done

fi

只是为了阐明:headers.txt中的每一行都有“test”这样的字符串,即行中没有空格。什么headers.txt真正包含的是从C项目中的所有头文件中提取的函数名称列表:)在我以前的代码中没有返回的错误,它只是在循环中不会运行的grep命令。我想要做的是在headers.txt中搜索每个函数的所有C文件,并在每次搜索前提示我

2012-04-21

Lars

+0

'的sed 's/^/\ t /' 脚本| xclip',你准备粘贴;) –

2012-04-21 23:02:13

+0

选择代码并点击小花括号? –

2012-04-21 23:03:39

+0

还有什么是返回的错误?你应该包含这些信息。 –

2012-04-21 23:20:23

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值