国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > Linux Shell > 正文

shell中長命令的換行處理方法示例

2020-07-27 18:44:39
字體:
供稿:網(wǎng)友

前言

考察下面的腳本:

emcc -o ./dist/test.html --shell-file ./tmp.html --source-map-base dist -O3 -g4 --source-map-base dist -s MODULARIZE=1 -s "EXPORT_NAME=/"Test/"" -s USE_SDL=2 -s LEGACY_GL_EMULATION=1 --pre-js ./pre.js --post-js ./post.js --cpuprofiler --memoryprofiler --threadprofilermain.cpp

這里在調(diào)用 emcc 進(jìn)行 WebAssembly 編譯時(shí),組織了很多參數(shù)。整個(gè)命令都在一行之中,不是很好閱讀和維護(hù)。

換行

可通過加 / 的方式來進(jìn)行換行拆分。

改造后看起來像這樣,一個(gè)參數(shù)占一行:

emcc -o ./dist/test.html/ --shell-file ./tmp.html/ --source-map-base dist/ -O3/ -g4/ --source-map-base dist/ -s MODULARIZE=1/ -s "EXPORT_NAME=/"Test/""/ -s USE_SDL=2/ -s LEGACY_GL_EMULATION=1/ --pre-js ./pre.js/ --post-js ./post.js/ --cpuprofiler/ --memoryprofiler/ --threadprofiler/ main.cpp

注釋

通過 /(backslash) 換行后,整體閱讀體驗(yàn)好了很多。進(jìn)一步,我們想要為每個(gè)參數(shù)添加注釋,發(fā)現(xiàn)不能簡單地這樣來:

emcc -o ./dist/test.html/ # 目標(biāo)文件 --shell-file ./tmp.html/ # 模板文件 --source-map-base dist/ -O3/ -g4/ --source-map-base dist/ -s MODULARIZE=1/ -s "EXPORT_NAME=/"Test/""/ -s USE_SDL=2/ -s LEGACY_GL_EMULATION=1/ --pre-js ./pre.js/ --post-js ./post.js/ --cpuprofiler/ --memoryprofiler/ --threadprofiler/ main.cpp

這樣會(huì)導(dǎo)致整個(gè) shell 腳本解析失敗。

實(shí)測發(fā)現(xiàn),也不能這樣:

emcc -o/ # 目標(biāo)文件 ./dist/test.html/   # 模板文件 --shell-file ./tmp.html/ --source-map-base dist/ -O3/ -g4/ --source-map-base dist/ -s MODULARIZE=1/ -s "EXPORT_NAME=/"Test/""/ -s USE_SDL=2/ -s LEGACY_GL_EMULATION=1/ --pre-js ./pre.js/ --post-js ./post.js/ --cpuprofiler/ --memoryprofiler/ --threadprofiler/ main.cpp

同樣會(huì)導(dǎo)致解析失敗。

說到底,通過 / 拆分的命令,只是呈現(xiàn)上變成了多行,其中插入的注釋是會(huì)破壞掉語義的。

但也不是沒辦法添加注釋了,幾經(jīng)周轉(zhuǎn)發(fā)現(xiàn)如下寫法是可行的:

emcc -o ./dist/test.html `# 目標(biāo)文件` / --shell-file ./tmp.html `# 模板文件` / --source-map-base dist `# source map 根路徑` / -O3 `# 優(yōu)化級(jí)別` / -g4 `# 生成 debug 信息` / --source-map-base dist/ `# -s MODULARIZE=1/` -s "EXPORT_NAME=/"Test/""/ -s USE_SDL=2/ -s LEGACY_GL_EMULATION=1/ --pre-js ./pre.js/ --post-js ./post.js/ --cpuprofiler/ --memoryprofiler/ --threadprofiler/ main.cpp

即通過 `(backtick) 來包裹我們的注釋,就不會(huì)破壞掉腳本的語義了,能夠正確解析執(zhí)行。

進(jìn)一步,解決了注釋的問題,如果我們不想要某一行,同時(shí)又不想刪除,可以像下面這樣來注釋:

emcc -o ./dist/test.html `# 目標(biāo)文件` / --shell-file ./tmp.html `# 模板文件` / --source-map-base dist `# source map 根路徑` / -O3 `# 優(yōu)化級(jí)別` / -g4 `# 生成 debug 信息` / --source-map-base dist/ -s MODULARIZE=1/ -s "EXPORT_NAME=/"Test/""/ -s USE_SDL=2/ -s LEGACY_GL_EMULATION=1/ `# --pre-js ./pre.js`/ --post-js ./post.js/ --cpuprofiler/ `# --threadprofiler`/ --memoryprofiler/ main.cpp

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)武林網(wǎng)的支持。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 买车| 凌海市| 蒲江县| 历史| 通化市| 商丘市| 桐城市| 浦北县| 康马县| 皮山县| 泰兴市| 永济市| 彩票| 博乐市| 山丹县| 留坝县| 乌兰浩特市| 新竹县| 宁阳县| 大竹县| 南开区| 南京市| 沛县| 湘潭县| 宜春市| 绥宁县| 韶关市| 富平县| 德江县| 滁州市| 河津市| 翁源县| 华阴市| 安西县| 甘南县| 远安县| 获嘉县| 沾益县| 郓城县| 宁国市| 南丰县|