2013-07-27 70 views
0

我遇到了這個問題,在這裏我有一個函數在這裏文檔,但bash中並不把它看作一個函數作爲此文檔很長慶典在這裏記錄到長

如:

線25

function write_p_configs { 

cat /usr/local/php/etc/php-fpm.conf <<EOL 
    really long document up to 50 lines 
EOL 
} 

線70

write_p_configs 

我得到一個錯誤說write_p_configs命令沒有找到,但如果我刪除這裏的一半文件它的工作似乎只發布錯誤,當這裏的文檔很長,在崇高的文本內部單擊功能沒有下劃線顯示{}匹配。

什麼是最好的解決辦法呢?

+0

什麼是你想怎麼辦在這個函數中? – Guru

+0

是什麼讓你覺得這裏的文檔太長?我不知道有任何尺寸限制,「高達50行」實際上並不是很大。如果您收到錯誤訊息,請更新您的問題,告訴我們它是什麼。如果你沒有,請告訴我們出了什麼問題。 –

+0

我認爲文檔的長度和bash所說的命令一樣,當我嘗試運行該函數時,如果我有一個長的conf文件被寫出來,找不到命令的原因。除非它裏面的東西里面的東西像間距或#評論? –

回答

1

出現(函數的名稱暗示),您正嘗試使用heredoc寫入多行/usr/local/php/etc/php-fpm.conf。你的命令:

cat /usr/local/php/etc/php-fpm.conf <<EOL 
    really long document up to 50 lines 
EOL 

基本上等同於說:

cat <<EOL 
    really long document up to 50 lines 
EOL 

您需要重定向cat輸出到所需的文件:

cat >/usr/local/php/etc/php-fpm.conf <<EOL 
    really long document up to 50 lines 
EOL 
+0

我已經更新了你說的內容,但仍然沒有運氣,我更新了有關錯誤消息的更多信息。 –