Shell脚本和路径中的空格

标签 shell

我有更大的 shell 脚本来处理不同的事情。

它将通过以下方式获得自己的位置...

BASEDIR=`dirname $0`/..
BASEDIR=`(cd "$BASEDIR"; pwd)`

然后将使用 BASEDIR 创建其他变量,如
REPO="$BASEDIR"/repo

但问题是,如果路径包含当前执行的空格,则此 shell 脚本不起作用。

所以问题是:是否存在解决该问题的好方法?

最佳答案

确保双引号可能包含空格的任何内容:

BASEDIR="`dirname $0`"
BASEDIR="`(cd \"$BASEDIR\"; pwd)`"

关于Shell脚本和路径中的空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8658868/

相关文章:

bash - 为什么我的shell脚本不能正常工作?

linux - bash 获取硬件脚本输出到 .csv 文件

ruby - 如何使用 RSpec 测试子进程的输出

linux - 每 2 秒检查一次目录内容,如果 bash 中存在某个文件,则复制其内容

削减标准输出C linux

表格格式的 Shell 脚本打印

shell - 获取日期范围内所有行的列表

node.js - 使用node.js在AWS Lambda中调用shell脚本

bash - 通过脚本连接多个ssh连接

php - Python Imports 不提供 PHP 中的输出