首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >循环遍历文件并在文件名中提取值。脚本不工作

循环遍历文件并在文件名中提取值。脚本不工作
EN

Unix & Linux用户
提问于 2019-06-04 22:13:56
回答 1查看 37关注 0票数 0

为什么我会得到以下脚本中的“拒绝权限”错误:

代码语言:javascript
复制
#!/bin/sh

if [ -z $1 ]; then
    echo "no argument given"
    exit 1
fi

for i in /sys/class/rc/rc*; do
    if [ -e "$i/device/driver/$1" ]; then
      number=echo $i | sed 's%/sys/class/rc/rc([0-9]+)%$0%'
      echo "found $number"
    fi
done

我希望发生的是,$number包含路径/sys/class/rc/rc的“位”值,相反,"echo“命令似乎试图禁止文件/sys/class/rc/rc。

尤其是,如果存在/sys/class/rc/rc1/device/driver/pwm-ir-transmitter,则

lircprobe探针pwm-ir发射机

是:

/usr/local/sbin/local探测: 10: /usr/local/sbin/lirc探针:/sys/class/rc/rc 1:拒绝许可

(lirc探针是脚本的名称,上面)

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2019-06-04 22:50:10

我看到的是:number=echo $i | sed 's%/sys/class/rc/rc([0-9]+)%$0%' shell不知道如何将其作为命令执行,并将输出存储在变量号中。试一试:number=`echo $i | sed 's%/sys/class/rc/rc([0-9]+)%$0%' `number=$( echo $i | sed 's%/sys/class/rc/rc([0-9]+)%$0%' )

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/522926

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档