如果美元符号是粘贴命令的第一个字符,则删除它

如果美元符号是粘贴命令的第一个字符,则删除它

在给出 shell 命令示例时,人们通常会在每行前面加上 ,以$说明应该在终端中运行。最近我在这个 Github 页面

$ sudo apt-get install curl netcat-openbsd bc pv
$ wget https://raw.githubusercontent.com/neutronth/speedtest-lite/master/speedtest-lite

当三次单击这些行时,美元符号(该行的一部分)当然是选择的一部分。有没有办法设置我的终端(我使用的是 Terminator),以便如果$是命令的第一个字符,则忽略它?

答案1

我打算回答这个问题,但结果比我想象的要复杂一些。用一点 bash magic:

    cat file | while read x; do OUTPUT=$(echo $x | sed 's/^.//'); eval $OUTPUT; done

其作用是将文件打印到标准输出,读取每一行,删除第一个字符,并将结果存储在 $OUTPUT 中,然后使用 eval 将 $OUTPUT 中的行作为命令运行。使用 eval 时要小心,此脚本将把整个文件作为命令运行。

相关内容