Linux命令说明

Linux命令说明,linux,bash,Linux,Bash,我在linux中找不到这个--帮助。 你能告诉我这些命令是什么吗 NAME=gs://toto-titi-dfs-dfe-gfd-zed/ 然后,不明确的命令是: NAME="${NAME//\\/\\\\}" NAME="${NAME//\//\\/}" 然后我们有两个命令: sudo sed -i "s/spark\.eventLog\.dir.*/spark\.eventLog\.dir $NAME/g" /usr/lib/spark/conf/spark-defaults.conf

我在linux中找不到这个--帮助。 你能告诉我这些命令是什么吗

NAME=gs://toto-titi-dfs-dfe-gfd-zed/
然后,不明确的命令是:

NAME="${NAME//\\/\\\\}"
NAME="${NAME//\//\\/}" 
然后我们有两个命令:

sudo sed -i "s/spark\.eventLog\.dir.*/spark\.eventLog\.dir $NAME/g" /usr/lib/spark/conf/spark-defaults.conf
sudo sed -i "s/spark\.history\.fs\.logDirectory.*/spark\.history\.fs\.logDirectory $NAME/g" /usr/lib/spark/conf/spark-defaults.conf
我也不明白

有什么需要帮忙的吗

非常感谢

  • 将变量
    NAME
    设置为字符串
    gs://toto titi dfs dfe gfd zed/
  • 使用
    NAME=“${NAME/\\/\\\\\\}”
    在该变量中使用
    \\
    替换所有
    \
    实例,特别阅读标记为${parameter/pattern/string}的部分
  • 使用
    AME=“${NAME/\/\/\/\/}”
    NAME
    变量中用
    \/
    替换
    /
    的所有安装。执行这两个步骤是为了退出
    NAME
    变量中的
    /
    \
    ,以便
    sed
    不会阻塞
  • 在文件
    /usr/lib/spark/conf/spark defaults.conf
    中,将
    spark.eventLog.dir.
    的匹配项替换为
    spark.eventLog.dir$NAME
  • 在文件
    /usr/lib/spark/conf/spark defaults.conf
    中,将
    spark.history.fs.logDirectory.*
    的匹配项替换为
    spark.history.fs.logDirectory$NAME

  • 其目的是避免变量中的任何前斜杠。未切换的斜杠将中断sed
    s//
    命令。我在这里提倡这种技巧。你问题的第一部分的解释可以在“子字符串替换”一节中找到。你还可以通过构建一些调试语句,例如
    echo“NAME=xx${NAME}xx”,亲自看到
    NAME=“${NAME/\\/\\\\\\}”
    的价值/威力;NAME=“${NAME/\\/\\\}”;echo“NAME=xx${NAME}xx”。祝你好运,这样的解释请求更适合你。请在这里发布更多Qs之前阅读。祝你好运。使用
    sed's@...@…@
    而不是尝试清理字符串。您可能仍然需要清理字符串以转义
    @
    字符,但如果这确实是一个问题,您不应该这样做,这就是shell。选择一个合适的分隔符。