1
跨越以下命令剛來到:在shell中,「cat> somefilename << EOF」(特別是大於和小於 - 的兩個符號)是做什麼的?
cat > myspider.py <<EOF
但我不知道使用的>
和<<
的。
跨越以下命令剛來到:在shell中,「cat> somefilename << EOF」(特別是大於和小於 - 的兩個符號)是做什麼的?
cat > myspider.py <<EOF
但我不知道使用的>
和<<
的。
<<EOF
是heredoc的開始。在此行之後並且在僅包含EOF
的下一行之前的內容以stdin形式提供給過程cat
。
> myspider.py
是一個stdout重定向。 myspider.py
將被截斷,如果它已經存在(並且是一個常規文件),並且cat
的輸出將被寫入它。
由於cat
沒有命令行參數(這裏是因爲重定向被解釋爲shell的關於如何設置進程的指令,而不是作爲參數傳遞給cat
)從其輸入讀取並寫入其輸出<<EOF
指示應將以下行作爲輸入寫入進程中,並且>myspider.py
指示應將輸出寫入myspider.py
,因此這會將所有內容寫入到下一個EOF
到myspider.py
。
參見:
按理說這應該是兩個完全不同的問題。 (另外,他們幾乎肯定都是重複的)。 –
...''EOF'部分是重複http://stackoverflow.com/questions/2500436/how-does-cat-eof-work-in-bash –
嗯。 http://stackoverflow.com/questions/39581182/what-does-this-bash-line-do-hpc是一個完美的重複,但沒有答案(和downvote)。作爲這個騙局的結束。 –