gpt4 book ai didi

linux - 猫文件名 | grep "something"在 shell 脚本中结果为 "cat: grep: No such file or directory"

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:53:41 25 4
gpt4 key购买 nike

我编写了 shell 脚本,它从输入文件中读取命令并执行命令。我有这样的命令:

cat linux_unit_test_commands | grep "dmesg" 

在输入文件中。执行 shell 脚本时出现以下错误消息:

cat: |: No such file or directory
cat: grep: No such file or directory
cat: "dmesg": No such file or directory

脚本:

 #!/bin/bash

while read line
do
output=`$line`
echo $output >> logs
done < $1

下面是输入文件(example_commands):

ls
date
cat linux_unit_test_commands | grep "dmesg"

执行:./linux_unit_tests.sh example_commands

请帮我解决这个问题。

最佳答案

|"这样的特殊字符在扩展变量后不被解析;变量扩展后所做的唯一处理是分词和通配符扩展。如果你希望该行完全解析,你需要使用eval:

while read line
do
output=`eval "$line"`
echo "$output" >> logs
done < $1

关于linux - 猫文件名 | grep "something"在 shell 脚本中结果为 "cat: grep: No such file or directory",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28624227/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com