Macos 如何在bash脚本中转义$HOME中的空格?
顺便说一句,我正在尝试运行一个脚本,它使用我的$HOME变量来设置它 但是,它失败了,因为我所在的系统主目录路径中有空格 我想在一个点上破解gitolite bash脚本,这样$HOME就变成了它可以使用的东西——它在脚本中被多次使用,并且在某些地方被连接成子文件夹,所以将它包装起来是行不通的 所以为了清理它,我需要说: $HOME=magic here$HOME 当然,这是假设后面的perl脚本也不直接读取$HOME变量,还需要修复…尝试以下方法:Macos 如何在bash脚本中转义$HOME中的空格?,macos,bash,gitolite,Macos,Bash,Gitolite,顺便说一句,我正在尝试运行一个脚本,它使用我的$HOME变量来设置它 但是,它失败了,因为我所在的系统主目录路径中有空格 我想在一个点上破解gitolite bash脚本,这样$HOME就变成了它可以使用的东西——它在脚本中被多次使用,并且在某些地方被连接成子文件夹,所以将它包装起来是行不通的 所以为了清理它,我需要说: $HOME=magic here$HOME 当然,这是假设后面的perl脚本也不直接读取$HOME变量,还需要修复…尝试以下方法: export HOME=`echo $HOM
export HOME=`echo $HOME | sed -e "s/ /\\ /g"`
希望这对你有用 试试这个:
export HOME=`echo $HOME | sed -e "s/ /\\ /g"`
希望这对你有用 在任何地方使用引号
在任何地方使用引号
不过,这需要彻底修改gitolite脚本!我意识到这是可行的,但这需要大量的工作和一个有效的大叉子。或者一个大补丁,视情况而定。@joachim如果软件没有正确地逃逸路径中的空格,那就是一个bug。。。总有一天它会被修复,因为你不是唯一的一个。这需要完全破解gitolite脚本!我意识到这是可行的,但这需要大量的工作和一个有效的大叉子。或者一个大补丁,视情况而定。@joachim如果软件没有正确地逃逸路径中的空格,那就是一个bug。。。总有一天它会被修复,因为你不是唯一的一个。