如果我刚刚在Bash中输入以下命令:
echo foo
Run Code Online (Sandbox Code Playgroud)
我可以输入以下命令将foo更改为bar:
^foo^bar
Run Code Online (Sandbox Code Playgroud)
这导致执行以下命令:
echo bar
Run Code Online (Sandbox Code Playgroud)
现在,如果我输入:
echo foo foo
Run Code Online (Sandbox Code Playgroud)
有没有办法只使用caret(^)运算符将foo的两个实例更改为bar ?
另外,shell运营商的手册页是否有^?man ^导致"没有手动输入^".
bash 中的 reverse-i-search 工具很有用,但它与大多数其他 bash 命令不同,它似乎绑定到键绑定 ( Ctrl+ R)。用户如何使用别名或键入的命令来触发此功能?
有没有办法在linux中更改以前的命令?我正在使用复制一堆文件
cp path/to/source1 path/to/target2
Run Code Online (Sandbox Code Playgroud)
我想把它改成
cp path/to/source2 path/to/target2
Run Code Online (Sandbox Code Playgroud)
所以我想用2替换1
我知道我可以把它放在一个循环中,但我需要在检查笔记本中的内容之后这样做.
我想知道用于纠正先前执行的命令中的错误的最短命令。
鉴于我执行了以下命令
cd /Users/USERNAME/Library/Preferences/ByHost
我希望能够执行一个新命令,该命令采用上一个命令,通过管道grep或类似的 Unix 工具将其传输,然后执行。在(我公认的未受过教育的)伪命令中是这样的。
!! | xargs 's/$1/USERNAME/cirrostratus/g'
该命令将执行cd /Users/cirrostratus/Library/Preferences/ByHost。
或者,管道一个字符串,搜索和替换它并在一行中执行将是我的第二选择。