Shell脚本找不到名称中包含空格的文件

时间:2016-11-04 14:31:07

标签: bash shell ubuntu

我创建了两个脚本来制作大量文件的校验和,其中一个我使用' find'用于搜索特定目录中的文件的命令,但是当文件具有带空格字符的名称时,' file one.txt'例如,脚本将其作为两个文件: file one ,我知道错误发生在' find'命令行,但我不知道自己做错了什么。

我的剧本:

#!/bin/bash

find $1 -type f -exec bash ./task2.sh "{}" \;

先谢谢!

1 个答案:

答案 0 :(得分:2)

为了搜索名称中包含空格的文件,您必须将参数括在引号中或转义空格。像:

find "test file.txt"find test\ file.txt

您特定用例中最简单的修复方法是将$1括在引号中:

find "$1" -type f -exec bash ./task2.sh "{}" \;