Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 如何在bash脚本中转义$HOME中的空格?_Macos_Bash_Gitolite - Fatal编程技术网

Macos 如何在bash脚本中转义$HOME中的空格?

Macos 如何在bash脚本中转义$HOME中的空格?,macos,bash,gitolite,Macos,Bash,Gitolite,顺便说一句,我正在尝试运行一个脚本,它使用我的$HOME变量来设置它 但是,它失败了,因为我所在的系统主目录路径中有空格 我想在一个点上破解gitolite bash脚本,这样$HOME就变成了它可以使用的东西——它在脚本中被多次使用,并且在某些地方被连接成子文件夹,所以将它包装起来是行不通的 所以为了清理它,我需要说: $HOME=magic here$HOME 当然,这是假设后面的perl脚本也不直接读取$HOME变量,还需要修复…尝试以下方法: export HOME=`echo $HOM

顺便说一句,我正在尝试运行一个脚本,它使用我的$HOME变量来设置它

但是,它失败了,因为我所在的系统主目录路径中有空格

我想在一个点上破解gitolite bash脚本,这样$HOME就变成了它可以使用的东西——它在脚本中被多次使用,并且在某些地方被连接成子文件夹,所以将它包装起来是行不通的

所以为了清理它,我需要说:

$HOME=magic here$HOME

当然,这是假设后面的perl脚本也不直接读取$HOME变量,还需要修复…

尝试以下方法:

export HOME=`echo $HOME | sed -e "s/ /\\ /g"`
希望这对你有用

试试这个:

export HOME=`echo $HOME | sed -e "s/ /\\ /g"`
希望这对你有用

在任何地方使用引号

在任何地方使用引号


不过,这需要彻底修改gitolite脚本!我意识到这是可行的,但这需要大量的工作和一个有效的大叉子。或者一个大补丁,视情况而定。@joachim如果软件没有正确地逃逸路径中的空格,那就是一个bug。。。总有一天它会被修复,因为你不是唯一的一个。这需要完全破解gitolite脚本!我意识到这是可行的,但这需要大量的工作和一个有效的大叉子。或者一个大补丁,视情况而定。@joachim如果软件没有正确地逃逸路径中的空格,那就是一个bug。。。总有一天它会被修复,因为你不是唯一的一个。