首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在中间有注释的同时打破复杂的ExecStart行?

如何在中间有注释的同时打破复杂的ExecStart行?
EN

Server Fault用户
提问于 2017-08-07 07:00:50
回答 3查看 10.7K关注 0票数 12

我有一个很长的命令行要放到systemd ExecStart条目中。我知道我可以用一个反斜杠来结束每一行,把一条长线分成多条。

但是,我如何用注释记录这些部分呢?以下几点是行不通的:

代码语言:javascript
复制
ExecStart=/bin/ssh -NT -o ExitOnForwardFailure=yes -o ServerAliveInterval=60 -o ServerAliveCountMax=3 \
# local tunnel for this
    -L 172.16.12.34:10001:localhost:10001 \
# remote tunnel for that
    -R3128:127.0.0.1:3128 \
    someserver

如果我删除了“#”的行,它就会正常工作,但是我会丢失文档。如果对长命令行的部分进行精细化的就地文档是根本不可能的,那么有哪些有用的替代方法呢?

EN

回答 3

Server Fault用户

发布于 2019-11-28 09:25:05

我想这就是斯文的意思:

代码语言:javascript
复制
#
# Listen locally on port 10001 and tunnel it to someserver
# Listen on someserver port 3128 and tunnel it to localhost
#
ExecStart=/bin/ssh -NT \
    -o ExitOnForwardFailure=yes \
    -o ServerAliveInterval=60 \
    -o ServerAliveCountMax=3 \
    -L 172.16.12.34:10001:localhost:10001 \
    -R3128:127.0.0.1:3128 \
    someserver

在我看来不算太糟。

票数 6
EN

Server Fault用户

发布于 2021-09-13 09:33:51

只是不要忘记\在行的末尾有评论。Systemd将削减它们,而不是在命令中使用。

代码语言:javascript
复制
ExecStart=/bin/ssh -NT \
    -o ExitOnForwardFailure=yes \
    -o ServerAliveInterval=60 \
    -o ServerAliveCountMax=3 \
    # local tunnel for this \
    -L 172.16.12.34:10001:localhost:10001 \
    # remote tunnel for that \
    -R3128:127.0.0.1:3128 \
    someserver
票数 3
EN

Server Fault用户

发布于 2017-08-07 07:15:50

  1. 写一个脚本代替。
  2. 没有人阻止你写这行,然后留下更多的评论来解释它。
票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/867215

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档