linux - Bash - 传递给函数的参数中的空格
问题描述
我在管理传递给函数的空格的路径时遇到了一些问题。
测试代码
#!/bin/bash
WORKING_DIR="./test"
mkdir -p "$WORKING_DIR/entry-A"
mkdir -p "$WORKING_DIR/entry-B"
mkdir -p "$WORKING_DIR/entry C D E "
checkFolder() {
echo $1
ls $1
}
export -f checkFolder
find $WORKING_DIR -type d -exec bash -c 'checkFolder "$@"' bash {} \;
这里的输出:
here the output:
./test.sh
./test
entry-A entry-B 'entry C D E ' 'entry D E '
./test/entry-A
./test/entry-B
./test/entry D E
ls: cannot access './test/entry': No such file or directory
ls: cannot access 'D': No such file or directory
ls: cannot access 'E': No such file or directory
./test/entry C D E
ls: cannot access './test/entry': No such file or directory
ls: cannot access 'C': No such file or directory
ls: cannot access 'D': No such file or directory
ls: cannot access 'E': No such file or directory
您能否建议我在这种特定情况下使用空格和其他特殊字符管理路径的正确方法?
谢谢
解决方案
推荐阅读
- excel - 逐行条件格式
- mysql - 检查另一列 (2) 中的值的列 (1) 的约束等于“字符串 1”和“字符串 2”,将列 (1) 设置为不为空
- php - 在 Laravel 和 Livewire 中抛出 errorException 时捕获
- python - Python 内存地址:Linux 上 Python 3.5 - 3.9 的变化
- linux - 在 shell 脚本中使用单引号 (') - RSYNC 问题
- sql - 我的左连接查询不包含指定表达式作为聚合函数的一部分
- async-await - F# 中的嵌套异步上下文
- algorithm - 如何使用Scala返回二叉树中节点的所有路径(分支)列表?
- xamarin - 将来自 web 服务调用的图像保存在本地 PCL 文件夹 Xamarin Forms 中
- laravel - 将 whereHas 中的值与父数据进行比较