|
|
1
13
这个
|
|
|
2
13
|
|
|
3
2
我一直在和你玩
摘录: 在第二个例子中,你可能注意到了两个遗传基因之间的差异。埃雷多克 函数中的终止符不带引号,而要读取的终止符带单引号。通过这种方式,shell被指示使用一个不带引号的终止符在herdoc上执行扩展,但在其终止符带引号时不执行扩展。在函数中展开未加引号的herdeoc时,它不会中断,因为它展开的变量的值已设置为带引号的字符串,并且不会对其进行两次解析。 可能您想要做的是将Windows路径从一个命令的输出动态地管道化到另一个命令的输入。heredoc中的命令替换使这成为可能:
因此,基本上,如果您能够可靠地从某个应用程序输出反斜杠(我在上面使用了printf),然后在$(…)内运行该命令,并将其包含在传递给另一个可以可靠地接受反斜杠作为输入的应用程序(如上面的read和sed)的未加引号的heredoc中,将完全绕过shell对反斜杠的解析。应用程序是否可以将反斜杠作为输入/输出来处理,这是您必须亲自了解的。 -迈克 |