Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
nano编辑器中的快捷方式,用于在bash脚本中为每个以$开头的单词添加引号?_Bash_Nano - Fatal编程技术网

nano编辑器中的快捷方式,用于在bash脚本中为每个以$开头的单词添加引号?

nano编辑器中的快捷方式,用于在bash脚本中为每个以$开头的单词添加引号?,bash,nano,Bash,Nano,我不熟悉用bash编写代码,我刚刚完成了这个长脚本,但我犯了一个错误,没有在所有变量中添加以一元运算符$开头的引号。手工添加所有引号需要一段时间。是否有一条捷径可以让文本文件中以$开头的所有单词都用引号括起来?因此,如果文件中的一行看起来像: python myProgram.py $car1 $car2 $speed1 $speed2 然后在快捷方式之后,它将显示为 python myProgram.py "$car1" "$car2" "$speed1" "$speed2" 我正在用na

我不熟悉用bash编写代码,我刚刚完成了这个长脚本,但我犯了一个错误,没有在所有变量中添加以一元运算符
$
开头的引号。手工添加所有引号需要一段时间。是否有一条捷径可以让文本文件中以
$
开头的所有单词都用引号括起来?因此,如果文件中的一行看起来像:

python myProgram.py $car1 $car2 $speed1 $speed2
然后在快捷方式之后,它将显示为

python myProgram.py "$car1" "$car2" "$speed1" "$speed2"

我正在用nano编写脚本

根据您的需要,似乎不必提供基于该编辑器的解决方案。如果您有权访问shell,可以尝试以下简单的
sed
命令:

sed -i.bak -r 's/\$\w+/"&"/g' my-script.sh
这远不是完美的,但在你的特殊情况下应该可以做到。如果使用上述命令:

  • -i.bak
    将执行“就地”替换,即修改原始文件,使用
    .bak
    扩展名进行备份
  • s/…/…../g
    是使用模式搜索和替换的常用
    sed
    命令。搜索模式介于前两个
    \
    之间。替换介于最后两个
    /
  • \$\w+
    此模式对应于一个
    $
    后跟一个或多个字母(
    \w+
    )。
    $
    之前的反斜杠是必需的,因为该字符在搜索模式中通常具有特殊意义
  • “&”
    是替换字符串。在这里,
    &
    被搜索模式中找到的字符串替换。广义地说,这个放引号围绕着任何匹配搜索模式的字符串

根据您的需要,似乎不必提供基于该编辑器的解决方案。如果您有权访问shell,可以尝试以下简单的
sed
命令:

sed -i.bak -r 's/\$\w+/"&"/g' my-script.sh
这远不是完美的,但在你的特殊情况下应该可以做到。如果使用上述命令:

  • -i.bak
    将执行“就地”替换,即修改原始文件,使用
    .bak
    扩展名进行备份
  • s/…/…../g
    是使用模式搜索和替换的常用
    sed
    命令。搜索模式介于前两个
    \
    之间。替换介于最后两个
    /
  • \$\w+
    此模式对应于一个
    $
    后跟一个或多个字母(
    \w+
    )。
    $
    之前的反斜杠是必需的,因为该字符在搜索模式中通常具有特殊意义
  • “&”
    是替换字符串。在这里,
    &
    被搜索模式中找到的字符串替换。广义地说,这个放引号围绕着任何匹配搜索模式的字符串

根据您的需要,似乎不必提供基于该编辑器的解决方案。如果您有权访问shell,可以尝试以下简单的
sed
命令:

sed -i.bak -r 's/\$\w+/"&"/g' my-script.sh
这远不是完美的,但在你的特殊情况下应该可以做到。如果使用上述命令:

  • -i.bak
    将执行“就地”替换,即修改原始文件,使用
    .bak
    扩展名进行备份
  • s/…/…../g
    是使用模式搜索和替换的常用
    sed
    命令。搜索模式介于前两个
    \
    之间。替换介于最后两个
    /
  • \$\w+
    此模式对应于一个
    $
    后跟一个或多个字母(
    \w+
    )。
    $
    之前的反斜杠是必需的,因为该字符在搜索模式中通常具有特殊意义
  • “&”
    是替换字符串。在这里,
    &
    被搜索模式中找到的字符串替换。广义地说,这个放引号围绕着任何匹配搜索模式的字符串

根据您的需要,似乎不必提供基于该编辑器的解决方案。如果您有权访问shell,可以尝试以下简单的
sed
命令:

sed -i.bak -r 's/\$\w+/"&"/g' my-script.sh
这远不是完美的,但在你的特殊情况下应该可以做到。如果使用上述命令:

  • -i.bak
    将执行“就地”替换,即修改原始文件,使用
    .bak
    扩展名进行备份
  • s/…/…../g
    是使用模式搜索和替换的常用
    sed
    命令。搜索模式介于前两个
    \
    之间。替换介于最后两个
    /
  • \$\w+
    此模式对应于一个
    $
    后跟一个或多个字母(
    \w+
    )。
    $
    之前的反斜杠是必需的,因为该字符在搜索模式中通常具有特殊意义
  • “&”
    是替换字符串。在这里,
    &
    被搜索模式中找到的字符串替换。广义地说,这个放引号围绕着任何匹配搜索模式的字符串

使用全局搜索并替换为表达式
(\$\w+)

  • 切换到搜索模式并替换为
    C-\
  • 使用
    Alt-R
    切换到regex模式
  • 键入表达式
    (\$\w+)
    。按回车键
  • 键入替换表达式
    “\1”
    用引号替换捕获的表达式。按回车键
  • 在比赛中,为所有人点击
    A

  • 使用全局搜索并替换为表达式
    (\$\w+

  • 切换到搜索模式并替换为
    C-\
  • 使用
    Alt-R
    切换到regex模式
  • 键入表达式
    (\$\w+)
    。按回车键
  • 键入替换表达式
    “\1”
    用引号替换捕获的表达式。打