eof腳本
Ⅰ linux下運行python腳本,屏幕上輸入一行字元,怎麼顯示這個腳本的結果呢按回車不顯示結果呀
執行你的腳本,你在給sys.stdin輸入內容的時候,回車也是內容的一部分,stdin會等到一個eof標識用來判斷一次輸入的結束(EOF(End Of File),在操作系統中表示資料源無更多的資料可讀取)。
linux中,eof標識是ctrl+d,所以你可以嘗試輸入一些內容,然後執行ctrl+d
Ⅱ shell中EOF的作用
這是 Here document 用法
EOF本意是 End Of File,表明到了文件末尾。
使用格式基本是這樣的:
命令 << EOF
內容段
EOF
將「內容段」整個作為命令的輸入。
你的代碼里就是用cat命令讀入整段字元串並賦值給list變數。
其實,不一定要用EOF,只要是「內容段」中沒有出現的字元串,都可以用來替代EOF,只是一個起始和結束的標志罷了。
有個特殊用法不得不說:
: << COMMENTBLOCK
shell腳本代碼段
COMMENTBLOCK
這個用來注釋整段腳本代碼。 : 是shell中的空語句。
搜索一下 Here document 你會明白更多。
Ⅲ shell腳本里xEOF什麼作用
從<<xEOF 到 xEOF這之間的內容完全作為mdsql這句話的輸入
xEOF並不是什麼關鍵字或者函數,只是通過here document(<<)這種方式把一行或幾行的命令定向給一個命令作為輸入。
Ⅳ mysql是用的.sh寫的腳本,執行後提示沒有命令
在Shell中執行mysql的腳本,這里介紹比較容易使用的一種方法
首先寫好sql的腳本,後綴為.sql,比如
sql_file.sql:內容如下
#這是SQL的腳本
create table if not exists test_sql(id int(10),name varchar(20));
insert into test_sql values(1,'正餐');
select * from test_sql;
很簡單的創建、插入、查詢
之後shell的腳本,內容如下
#!/bin/bash #這是執行SQL的腳本,傳入資料庫表,和SQL文件名即可
name=$1
file_name=$2
cd /opt/lampp/bin ./mysql -uroot -p123456 <<EOF
use ${name};
source ${file_name};
EOF
./mysql -uroot -p123456是進入mysql的命令,前面的路徑可以改成自己的絕對路徑
<< EOF EOF 中間可以寫出任意的mysql腳本
其中,如果要執行某個.sql的命令,直接用 source 腳本.sql 即可執行該腳本上面的命令,這里使用的是source sql_file.sql
此外,如果在mysql中需要執行shell腳本
可以在EOF中 ./mysql -uroot -p123456<<EOF \! sh shell.sh EOF
前面加上 !\ +linux中執行的shell命令即可