Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.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 使用grunt exec的新行的奇怪行为_Macos_Bash_Terminal_Gruntjs_Imagemagick - Fatal编程技术网

Macos 使用grunt exec的新行的奇怪行为

Macos 使用grunt exec的新行的奇怪行为,macos,bash,terminal,gruntjs,imagemagick,Macos,Bash,Terminal,Gruntjs,Imagemagick,我正在使用ImageMagick和grunt exec为我正在使用中的命令创建的网站生成favicon 然而,我遇到了一些关于换行符的问题,我认为这部分是因为我不完全理解我应该如何处理换行符 在我的Gruntfile.js中,我目前没有使用换行符,它可以正常工作。请注意,我必须删除所有的换行符并对括号进行双转义,因为显然grunt exec在执行字符串之前会对其进行解析 exec: { favicon: 'convert _favicon.svg -bordercolor white -

我正在使用ImageMagick和grunt exec为我正在使用中的命令创建的网站生成favicon

然而,我遇到了一些关于换行符的问题,我认为这部分是因为我不完全理解我应该如何处理换行符

在我的Gruntfile.js中,我目前没有使用换行符,它可以正常工作。请注意,我必须删除所有的换行符并对括号进行双转义,因为显然grunt exec在执行字符串之前会对其进行解析

exec: {
    favicon: 'convert _favicon.svg -bordercolor white -border 0 \\( -clone 0 -resize 16x16 \\) \\( -clone 0 -resize 32x32 \\) \\( -clone 0 -resize 48x48 \\) \\( -clone 0 -resize 64x64 \\) -delete 0 -alpha off -colors 256 favicon.ico'
}
就像我说的,我现在已经可以使用了,但是我希望能够使用换行符来提高可读性,同时也因为我想完全理解这里发生的事情。到目前为止,我已尝试添加一个额外的\并保持所有内容不变,将新行替换为\n或\\n,并将所有内容放在同一行上,但运气不佳。

尝试使用以下方法:

exec: {
    favicon: 'convert _favicon.svg -bordercolor white -border 0 "( -clone 0 -resize 16x16 )" "( -clone 0 -resize 32x32 )" "( -clone 0 -resize 48x48 )" "( -clone 0 -resize 64x64 )" -delete 0 -alpha off -colors 256 favicon.ico'
}

我正在寻找的解决方案是对新行使用\n \方法,如下所示:

convert image.png  -bordercolor white -border 0 \n\
    \( -clone 0 -resize 16x16 \) \n\
    \( -clone 0 -resize 32x32 \) \n\
    \( -clone 0 -resize 48x48 \) \n\
    \( -clone 0 -resize 64x64 \) \n\
    -delete 0 -alpha off -colors 256 favicon.ico

看来你需要为帕伦夫妇保留dbl逃逸。此外,请确保每行的结尾“\”字符是最后一个字符,后面没有空格或制表符。cat-vet文件将显示$作为行的结尾。如果您在这些行上没有看到“\$”,但看到“^I$”或类似内容,则您的编辑器可能会试图提供帮助,并在行上添加空格,以使文件中的导航更容易,或者出于其他原因。祝你好运
convert image.png  -bordercolor white -border 0 \n\
    \( -clone 0 -resize 16x16 \) \n\
    \( -clone 0 -resize 32x32 \) \n\
    \( -clone 0 -resize 48x48 \) \n\
    \( -clone 0 -resize 64x64 \) \n\
    -delete 0 -alpha off -colors 256 favicon.ico