我创建了两个脚本来制作大量文件的校验和,其中一个我使用' find'用于搜索特定目录中的文件的命令,但是当文件具有带空格字符的名称时,' file one.txt'例如,脚本将其作为两个文件: file 和 one ,我知道错误发生在' find'命令行,但我不知道自己做错了什么。
我的剧本:
#!/bin/bash
find $1 -type f -exec bash ./task2.sh "{}" \;
先谢谢!
答案 0 :(得分:2)
为了搜索名称中包含空格的文件,您必须将参数括在引号中或转义空格。像:
find "test file.txt"
或find test\ file.txt
。
您特定用例中最简单的修复方法是将$1
括在引号中:
find "$1" -type f -exec bash ./task2.sh "{}" \;