有一個命令,我不明白:什麼是EOF!在bash腳本中?
custom_command << EOF!!
我要問EOF!在bash腳本中。我確實發現谷歌EOF,但谷歌會忽略「!!」自動,所以我找不到EOF !!。
我知道文件標記的結尾,但我不完全知道它是什麼意思與「!!」在腳本中。這是一個標誌,迫使某些事情在vim的wq中做一些事情! ?
另外,爲什麼和什麼時候應該使用EOF!而不是EOF?
有一個命令,我不明白:什麼是EOF!在bash腳本中?
custom_command << EOF!!
我要問EOF!在bash腳本中。我確實發現谷歌EOF,但谷歌會忽略「!!」自動,所以我找不到EOF !!。
我知道文件標記的結尾,但我不完全知道它是什麼意思與「!!」在腳本中。這是一個標誌,迫使某些事情在vim的wq中做一些事情! ?
另外,爲什麼和什麼時候應該使用EOF!而不是EOF?
在命令行上,!!
將被擴展爲最後執行的命令。 bash將打印線爲您提供:
$ ls
a.txt b.txt
$ cat <<EOF!!
cat <<EOFls
>
在腳本中,雖然,歷史擴展默認情況下禁用,所以感嘆號是單詞的一部分。
#! /bin/bash
ls
cat <<EOF!!
echo 1
EOFls
echo 2
產地:
a.txt b.txt
script.sh: line 7: warning: here-document at line 3 delimited by end-of-file (wanted `EOF!!')
echo 1
EOFls
echo 2
爲了使歷史和歷史擴展在腳本中添加以下行:
set -o history
set -H
The bash manual列出了該"Event designators"下,他說:
!!
參考以前的命令。這是!-1`的同義詞。
我只是搜索「bash manual double exclamation」。
正如其他人已經寫,這是這裏的文檔。
用於此的令牌應該仔細選擇;因爲這裏的文件包含EOF!!
的概率比EOF
本身要低,所以他們選擇了這個概率。
我想他們在使用前檢查了它並沒有傷害;腳本中的!!
不引用歷史記錄,但保持原樣。
它是「文件結束」 – Juangcg
http://webapps.stackexchange。COM/Q/1479;不是它會幫助你在這裏... – Ben
[Heredoc](http://en.wikipedia.org/wiki/Here_document)! – devnull