Questions tagged «heredoc»

此处文档是在不同的编程语言中用源代码编写文字字符串的一种特殊语法。



8
bash中的“ cat << EOF”如何工作?
我需要编写脚本以将多行输入输入到程序(psql)。 经过一番谷歌搜索,我发现以下语法有效: cat &lt;&lt; EOF | psql ---params BEGIN; `pg_dump ----something` update table .... statement ...; END; EOF 这样可以正确构造多行字符串(从BEGIN;to到END;inclusive),并将其作为管道输入到psql。 但是我不知道它如何/为什么起作用,请解释一下吗? 我主要是指cat &lt;&lt; EOF,我知道&gt;输出到文件,&gt;&gt;追加到文件,&lt;从文件读取输入。 到底&lt;&lt;是做什么的? 并且有手册页吗?
627 linux  bash  scripting  heredoc 

11
如何在Bash中将Heredoc值分配给变量?
我有这个多行字符串(包括引号): abc'asdf" $(dont-execute-this) foo"bar"'' 如何在Bash中使用Heredoc将其分配给变量? 我需要保留换行符。 我不想转义字符串中的字符,这很烦人...
374 bash  heredoc 

17
在单行命令行中执行多行语句?
我正在使用Python -c执行单线循环,即: $ python -c "for r in range(10): print 'rob'" 这很好。但是,如果在for循环之前导入模块,则会出现语法错误: $ python -c "import sys; for r in range(10): print 'rob'" File "&lt;string&gt;", line 1 import sys; for r in range(10): print 'rob' ^ SyntaxError: invalid syntax 任何想法如何解决? 对我而言,将其作为一个单行放置非常重要,这样我才能将其包含在Makefile中。

5
在PHP中使用Heredoc有什么优势?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意测验或进一步的讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 在PHP 中使用heredoc有什么优势,您可以举个例子吗?
196 php  heredoc 

3
在bash heredoc中使用变量
我正在尝试在bash heredoc内插变量: var=$1 sudo tee "/path/to/outfile" &gt; /dev/null &lt;&lt; "EOF" Some text that contains my $var EOF 这没有按我期望的那样工作(按$var字面意义处理,未扩展)。 我需要使用,sudo tee因为创建文件需要sudo。做类似的事情: sudo cat &gt; /path/to/outfile &lt;&lt;EOT my text... EOT 不起作用,因为&gt;outfile在当前外壳中打开了文件,该外壳未使用sudo。
192 bash  variables  sh  heredoc 


14
Javascript Heredoc
我需要JavaScript中的Heredoc之类的东西。您对此有什么想法吗?我需要跨浏览器功能。 我找到了这个: heredoc = '\ &lt;div&gt;\ &lt;ul&gt;\ &lt;li&gt;&lt;a href="#zzz"&gt;zzz&lt;/a&gt;&lt;/li&gt;\ &lt;/ul&gt;\ &lt;/div&gt;'; 我认为它将为我工作。:)

3
如何对<< EOF >>包含代码的文件进行分类?
我想使用cat &lt;&lt;EOF &gt;&gt;以下代码将代码打印到文件中: cat &lt;&lt;EOF &gt;&gt; brightup.sh !/bin/bash curr=`cat /sys/class/backlight/intel_backlight/actual_brightness` if [ $curr -lt 4477 ]; then curr=$((curr+406)); echo $curr &gt; /sys/class/backlight/intel_backlight/brightness; fi EOF 但是当我检查文件输出时,我得到了: !/bin/bash curr=1634 if [ -lt 4477 ]; then curr=406; echo &gt; /sys/class/backlight/intel_backlight/brightness; fi 我试过用单引号引起来,但输出中也带有单引号。如何避免这个问题?
101 linux  unix  sh  heredoc 

11
如何从Ruby HEREDOC删除主要的空白字符?
我要制作的Ruby Heredoc出现问题。即使我包括-运算符,它也会从每一行返回前导空格,该运算符应该禁止所有前导空格字符。我的方法如下所示: def distinct_count &lt;&lt;-EOF \tSELECT \t CAST('#{name}' AS VARCHAR(30)) as COLUMN_NAME \t,COUNT(DISTINCT #{name}) AS DISTINCT_COUNT \tFROM #{table.call} EOF end 和我的输出看起来像这样: =&gt; " \tSELECT\n \t CAST('SRC_ACCT_NUM' AS VARCHAR(30)) as COLUMN_NAME\n \t,COUNT(DISTINCT SRC_ACCT_NUM) AS DISTINCT_COUNT\n \tFROM UD461.MGMT_REPORT_HNB\n" 当然,在此特定情况下这是正确的,除了第一个“和\ t之间的所有空格。有人知道我在这里做错什么吗?

17
在HEREDOC字符串中调用PHP函数
在PHP中,HEREDOC字符串声明对于输出html块确实非常有用。您可以通过在变量前面加上$来解析变量,但是对于更复杂的语法(例如$ var [2] [3]),则必须将表达式放在{}中。 在PHP 5中,这是可能实际上使{}一个HEREDOC字符串中括号内的函数调用,但你必须要经过一些工作。函数名称本身必须存储在变量中,并且必须像动态命名函数一样调用它。例如: $fn = 'testfunction'; function testfunction() { return 'ok'; } $string = &lt;&lt;&lt; heredoc plain text and now a function: {$fn()} heredoc; 如您所见,这不仅比以下情况更混乱: $string = &lt;&lt;&lt; heredoc plain text and now a function: {testfunction()} heredoc; 除了第一个代码示例之外,还有其他方法,例如突破HEREDOC来调用该函数,或反转问题并执行类似的操作: ?&gt; &lt;!-- directly output html and only breaking into …
91 php  string  heredoc 

7
此处文档给出“文件意外结束”错误
我需要我的脚本才能从终端发送电子邮件。根据我在这里和网上许多其他地方看到的内容,我将其格式化为: /var/mail -s "$SUBJECT" "$EMAIL" &lt;&lt; EOF Here's a line of my message! And here's another line! Last line of the message here! EOF 但是,运行此命令时会收到以下警告: myfile.sh: line x: warning: here-document at line y delimited by end-of-file (wanted 'EOF') myfile.sh: line x+1: syntax error: unexpected end of file ...其中x行是程序中最后写入的代码行,y行是其中的代码行/var/mail。我试着更换EOF其他的事情(ENDOFMESSAGE,FINISH,等),但无济于事。我在网上找到的几乎所有东西都是通过这种方式完成的,而且我对bash真的很陌生,所以我很难自己搞清楚。有人可以提供任何帮助吗?
81 bash  email  heredoc 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.