我创建了两个脚本来对许多文件进行校验和,在其中一个脚本中,我使用“find”命令来搜索特定目录中的文件,但当文件名中包含空格字符(例如file one.txt)时,脚本会将其视为两个文件:file和one。我知道错误在“find”命令行中,但不知道我做错了什么。我的脚本:
file one.txt
file
one
# !/bin/bash find $1 -type f -exec bash ./task2.sh "{}" \;
bnlyeluc1#
为了搜索名称中包含空格的文件,你必须将参数括在引号中或者对空格进行转义。例如:find "test file.txt"或可选地find test\ file.txt。在您的特定用例中,最简单的修复方法是将$1括在引号中:find "$1" -type f -exec bash ./task2.sh "{}" \;
find "test file.txt"
find test\ file.txt
$1
find "$1" -type f -exec bash ./task2.sh "{}" \;
1条答案
按热度按时间bnlyeluc1#
为了搜索名称中包含空格的文件,你必须将参数括在引号中或者对空格进行转义。例如:
find "test file.txt"
或可选地find test\ file.txt
。在您的特定用例中,最简单的修复方法是将
$1
括在引号中:find "$1" -type f -exec bash ./task2.sh "{}" \;