返回顶部
首页 > 资讯 > 精选 >怎么在shell中对长命令进行换行处理
  • 312
分享到

怎么在shell中对长命令进行换行处理

2023-06-09 13:06:19 312人浏览 独家记忆
摘要

怎么在shell中对长命令进行换行处理?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。前言考察下面的脚本:emcc -o ./dist/tes

怎么在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 --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

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注编程网精选频道,感谢您对编程网的支持。

--结束END--

本文标题: 怎么在shell中对长命令进行换行处理

本文链接: https://lsjlt.com/news/256140.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 怎么在shell中对长命令进行换行处理
    怎么在shell中对长命令进行换行处理?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。前言考察下面的脚本:emcc -o ./dist/tes...
    99+
    2023-06-09
  • shell中长命令的换行处理方法示例
    前言 考察下面的脚本: emcc -o ./dist/test.html --shell-file ./tmp.html --source-map-base dist -O3 -g4 --source-map-bas...
    99+
    2022-06-04
    shell命令换行 shell太长换行 shell长命令换行
  • 怎么在Shell命令行处理JSON数据
    本篇内容主要讲解“怎么在Shell命令行处理JSON数据”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么在Shell命令行处理JSON数据”吧!一、输出格式化,漂亮的打印效果如果我们用文本编辑...
    99+
    2023-06-09
  • 在Linux命令行中怎么进行大小写转换
    这篇“在Linux命令行中怎么进行大小写转换”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“在Linux命令行中怎么进行大小写...
    99+
    2023-06-27
  • 怎么在linux命令行中对网络进行配置
    这篇文章将为大家详细讲解有关怎么在linux命令行中对网络进行配置,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。除了通用的ifconfig外,对于Redhat/Fedora发行版,有专用的配...
    99+
    2023-06-10
  • shell命令怎么在docker中执行
    这篇文章将为大家详细讲解有关shell命令怎么在docker中执行,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。在docker中执行shell命令,需要在命令前增加sh -c,例如:dock...
    99+
    2023-06-14
  • 怎么在pandas apply中对并行进行处理
    怎么在pandas apply中对并行进行处理?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1. pandarallel (pip install )对于一个带有Panda...
    99+
    2023-06-06
  • 在Linux命令行中怎么进行大小写字符转换
    这篇文章主要为大家展示了“在Linux命令行中怎么进行大小写字符转换”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“在Linux命令行中怎么进行大小写字符转换”这篇文章吧。环境Centos7使用t...
    99+
    2023-06-05
  • 怎么在Python中对Args进行处理
    这篇文章将为大家详细讲解有关怎么在Python中对Args进行处理,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1. sys 模块Python 中的 sys 模块具有 argv 功能。当通过...
    99+
    2023-06-14
  • 怎么在python中对步长进行切片
    今天就跟大家聊聊有关怎么在python中对步长进行切片,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。python是什么意思Python是一种跨平台的、具有解释性、编译性、互动性和面向...
    99+
    2023-06-14
  • 如何在shell中使用expect命令进行远程执行命令脚本
    如何在shell中使用expect命令进行远程执行命令脚本?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。expect是用来实现自动交互功能的工具之一,使用expect-send...
    99+
    2023-06-09
  • 怎么在Shell脚本中使用getopts处理多命令行选项
    这篇文章给大家介绍怎么在Shell脚本中使用getopts处理多命令行选项,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。在Linux系统中,许多命令都提供了选项,使用不同的选项就会得到不通的执行结果例如:ls命令,ls...
    99+
    2023-06-09
  • 使用Shell expr命令怎么对整数进行计算
    本篇文章给大家分享的是有关使用Shell expr命令怎么对整数进行计算,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。expr 是 evaluate expressions 的...
    99+
    2023-06-08
  • 怎么在Python中对邮件进行处理
    今天就跟大家聊聊有关怎么在Python中对邮件进行处理,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。python的五大特点是什么python的五大特点:1.简单易学,开发程序时,专注...
    99+
    2023-06-14
  • 怎么在css中对空格进行处理
    今天就跟大家聊聊有关怎么在css中对空格进行处理,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1、空格规则HTML 代码的空格通常会被浏览器忽略。<p> &nb...
    99+
    2023-06-08
  • 怎么在python中中对信号进行处理
    今天就跟大家聊聊有关怎么在python中中对信号进行处理,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。python可以做什么Python是一种编程语言,内置了许多有效的工具,Pyth...
    99+
    2023-06-14
  • 怎么在shell中获取命令行参数
    本篇文章为大家展示了怎么在shell中获取命令行参数,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。#! /bin/bashwhile getopts a:bc ...
    99+
    2023-06-09
  • 在Shell命令行处理JSON数据的方法
    因为最近要处理一些 JSON 数据格式,所以在经过一番搜索后 最终找到了 jq 这个很棒的工具。jq 允许你直接在命令行下对 JSON 进行操作,包括分片、过滤、转换等等。让我们通过几个例子来说明 jq 的...
    99+
    2022-06-04
    命令行 方法 数据
  • shell中使用expect命令进行远程执行命令脚本
    expect是用来实现自动交互功能的工具之一,使用expect-send来实现交互过程。 注意: 1、脚本的执行方法与bash shell不一样,比如:expect example.sh 2、向一个脚本传递参数时,bas...
    99+
    2022-06-04
    用expect进行远程执行命令 shell中使用expect命令进行远程执行命令脚本
  • 怎么在java中对SimpleDateFormat进行转换
    怎么在java中对SimpleDateFormat进行转换?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Java可以用来干什么Java主要应用于:1. web开...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作