[英]Can Bash History Expansion be used to reference something in the same command?
Bash具有稱為歷史記錄擴展的功能,您可以在其中使用快捷方式來擴展以前在bash中鍵入的內容。
例子: !! - expands into previous command
!! - expands into previous command
$> rm -f /var/log/access.log
rm: /var/log/access.log: Permission Denied
$> sudo !!
sudo rm -f /var/log/access.log
$> echo "i am teh hax"
另一個: !$ - expands into last arg of previous command
$> echo "no one was here" > access.log
$> cp !$ /var/log/
cp access.log /var/log/
bash或其他一些shell是否有能力在命令本身內使用替換快捷方式?
就像是
$> cp httpd.conf !$.bak
cp httpd.conf httpd.conf.bak
$> echo "SABOTEUR!!!" > httpd.conf
我需要提高1980年代的計算機朋克技能。 請幫忙。
Justhalf的答案就是您想要的。
但是根據您的要求,還有另外一種破解/濫用方式。
sed -i.bak '' /path/to/file
例如
sed -i.bak '' httpd.conf
它將您的文件復制到另一個帶有.bak的文件。
優點: /path/to/file
可以包含通配符/ glob,或者您可以直接給出用空格分隔的文件列表。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.