linux - bash 中的循环

标签 linux bash

<分区>

我正在尝试编写一个 bash 脚本,该脚本递归地遍历目录中的文件,将文件名和 hexdump 写入文件。我当前的脚本:

#/bin/sh
touch hexdump.txt
for filename in logical/*; do
    echo "$filename"
    "$filename" >> hexdump.txt
    hd /logical/"$filename" >> hexdump.txt
done

当前输出为:

logical/*
./hexadecimalExtraction.sh: line 5: logical/*: No such file or directory
hd: /logical/logical/*: No such file or directory

我如何让它将“logical/*”解释为“logical”目录中的文件列表而不是文件名本身???

最佳答案

"$filename" >> hexdump.txt

可能应该被删除

否则您正在尝试运行文件名本身。

您还在当前目录的逻辑子目录中查找文件,但试图在/logical/中查找

关于linux - bash 中的循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53159016/

相关文章:

linux - 调用 netlink_broadcast() 导致 BUG 调度而 atomic

Bash 脚本参数

php - itextpdf 仅从命令行嵌入字体

bash - 键入命令时在 bash 中突出显示语法

java - 不满意的链接错误 : no library file in java. library.path

linux - 不使用 tee 命令打印到 shell 的正确方法

bash - MongoDB - 插入记录时转义引号

Linux用户空间: how to put 16550-compatible UART in loopback mode persistently

linux - 如何让curl使用指定的ip而不是在/etc/hosts中设置?

python - 可以在控制台中使用 Kafka 消息但不能使用 Python 库吗?