[英]Wrapping bash command that is a string
所以我有這個bash命令:
sqlite3 ${SUMAN_DATABASE_PATH} "CREATE TABLE suman_run_info (run_id INTEGER, suman_id INTEGER, suite_id INTEGER, test_id INTEGER,
name TEXT, value TEXT);" >> ${SUMAN_DEBUG_LOG_PATH}
我想在編輯器中手動包裝它。 但是,由於它主要是一個字符串,我似乎無法用\\字符將其包裝。
再說,這真的行不通,TMK:
sqlite3 ${SUMAN_DATABASE_PATH} "CREATE TABLE suman_run_info \ (run_id INTEGER, suman_id INTEGER, suite_id INTEGER, test_id INTEGER,
name TEXT, value TEXT);" >> ${SUMAN_DEBUG_LOG_PATH}
如何包裝此bash命令,使其適合100列之內?
我正在尋找這樣的東西:
sqlite3 ${SUMAN_DATABASE_PATH} "CREATE TABLE suman_run_info (run_id INTEGER,
suman_id INTEGER, suite_id INTEGER, test_id INTEGER,
name TEXT, value TEXT);" >> ${SUMAN_DEBUG_LOG_PATH}
我讀過相鄰的字符串應該自動連接,所以也許行得通嗎?
sqlite3 ${SUMAN_DATABASE_PATH} "CREATE TABLE suman_run_info"
"(run_id INTEGER, suman_id INTEGER, suite_id INTEGER, test_id INTEGER,"
"name TEXT, value TEXT);" >> ${SUMAN_DEBUG_LOG_PATH}
您不需要任何東西,至少在這種情況下; SQL可以毫無問題地處理命令中的換行符。 這應該可以正常工作:
sqlite3 "${SUMAN_DATABASE_PATH}" "CREATE TABLE suman_run_info
(run_id INTEGER,
suman_id INTEGER,
suite_id INTEGER,
test_id INTEGER,
name TEXT,
value TEXT
);" >> "${SUMAN_DEBUG_LOG_PATH}"
請確保在反斜杠之后沒有任何內容 :
sqlite3 ${SUMAN_DATABASE_PATH} "CREATE TABLE suman_run_info \
(run_id INTEGER, suman_id INTEGER, suite_id INTEGER, \
test_id INTEGER, name TEXT, value TEXT);" >> ${SUMAN_DEBUG_LOG_PATH}
或者,甚至更好(請參見下面的評論):
sqlite3 "${SUMAN_DATABASE_PATH}" "CREATE TABLE suman_run_info \
(run_id INTEGER, suman_id INTEGER, suite_id INTEGER, \
test_id INTEGER, name TEXT, value TEXT);" >> "${SUMAN_DEBUG_LOG_PATH}"
我喜歡使用HEREDOC
:
sqlite3 ${SUMAN_DATABASE_PATH} <<EOF >> ${SUMAN_DEBUG_LOG_PATH}
CREATE TABLE suman_run_info
(run_id INTEGER,
suman_id INTEGER,
suite_id INTEGER,
test_id INTEGER,
name TEXT,
value TEXT);
EOF
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.