麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 系統 > Linux > 正文

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

2019-10-26 18:59:58
字體:
來源:轉載
供稿:網友

前言

考察下面的腳本:

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

這里在調用 emcc 進行 WebAssembly 編譯時,組織了很多參數。整個命令都在一行之中,不是很好閱讀和維護。

換行

可通過加 / 的方式來進行換行拆分。

改造后看起來像這樣,一個參數占一行:

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) 換行后,整體閱讀體驗好了很多。進一步,我們想要為每個參數添加注釋,發現不能簡單地這樣來:

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

這樣會導致整個 shell 腳本解析失敗。

實測發現,也不能這樣:

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

同樣會導致解析失敗。

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

但也不是沒辦法添加注釋了,幾經周轉發現如下寫法是可行的:

emcc -o ./dist/test.html `# 目標文件` / --shell-file ./tmp.html `# 模板文件` / --source-map-base dist `# source map 根路徑` / -O3 `# 優化級別` / -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) 來包裹我們的注釋,就不會破壞掉腳本的語義了,能夠正確解析執行。

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

emcc -o ./dist/test.html `# 目標文件` / --shell-file ./tmp.html `# 模板文件` / --source-map-base dist `# source map 根路徑` / -O3 `# 優化級別` / -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            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产一区二区三区视频在线 | 日本在线播放一区二区三区 | 看片一区二区三区 | 国产91丝袜在线播放 | 亚洲一区二区网址 | 精品偷拍久久 | 黄色高清av | 久久人人爽人人爽人人片av免费 | 99r国产精品 | 日韩av在线网址 | 免费久久久 | 在线播放视频一区二区 | 欧美精品成人一区二区在线观看 | 国产一区二区三区四区精 | 国产成人精品一区在线播放 | 欧美一级免费看 | 亚洲一区二区三区91 | 成人免费在线观看视频 | 欧美爱爱视频 | 欧美成人免费在线视频 | 黄网站色成年大片免费高 | 91午夜免费视频 | 久草视频手机在线观看 | 福利在线小视频 | 欧美成人精品欧美一级 | 国产免费成人 | 毛片一区二区三区四区 | 国产韩国精品一区二区三区久久 | xnxx 日本免费 | 九九热九九热 | 毛片免费观看日本中文 | 免费网站看毛片 | 国产一级午夜 | 成人免费福利视频 | www成人在线观看 | 日韩精品久久久久久久电影99爱 | 性生活香蕉视频 | 在线高清中文字幕 | 亚洲午夜在线观看 | 亚洲成人免费电影 | 国产高潮好爽好大受不了了 |