小编Ale*_*tos的帖子

bash 中使用 local 关键字的变量定义

我正在学习 bash 脚本,并在我的 /usr/share/bash-completion 第 305 行找到了这个:

local cword words=()
Run Code Online (Sandbox Code Playgroud)

它有什么作用?网上所有教程都只是格式

local var=value
Run Code Online (Sandbox Code Playgroud)

shell-script

50
推荐指数
4
解决办法
5万
查看次数

尾部显示整个文件,然后只更改

我的 Linux 版本是 2.6.32-47-server(gcc 版本 4.4.3(Ubuntu 4.4.3-4ubuntu5.1))#109-Ubuntu SMP Tue May 7 02:17:05 UTC 2013

我目前正在做一个tail -f file ,生活很好。但这仅显示最后 X 行。tail 是否可以先显示整个文件,然后表现得像 tail -f 一样?

我试过了,tail -500 -f file但这给了我tail: option used in invalid context -- 1
从某种意义上说,它就像cat file; tail -f file; 但只显示自cat

是否可以?

linux command-line tail

5
推荐指数
1
解决办法
4619
查看次数

vim 查找并替换字符串

例如,在 VIM 中,如果我有文本

http://a.com
http://b.com
Run Code Online (Sandbox Code Playgroud)

是否可以找到所有行(整行)并将其替换为前后的内容,例如:

<a href="http://a.com">http://a.com</a>
<a href="http://b.com">http://b.com</a>
Run Code Online (Sandbox Code Playgroud)

请注意,每一行的文本都是重复的。一次用于 href ,另一次用于文本。

vim regular-expression

2
推荐指数
1
解决办法
980
查看次数

netcat 监听和发送结果的魔法

我正在尝试netcat连接到远程机器,为来自远程机器的每个文本运行 bash 并将命令的结果发送回远程机器。

是的。完全哈克。

我有点让它像这样工作:

在我的本地机器上,我运行 netcat -l -p 8765

在远程的防火墙机器上,我运行 netcat <ipofmylocalmachine> 8765 | bash -

当我tail -f /tmp/output在远程机器上执行 a 时,我可以看到我的命令的结果,然后输入一个echo "test" > /tmp/output

但是我怎样才能在我的本地机器上看到 bash 命令的结果呢?

我可以使用 Python 和 Perl 来完成,但是如何仅使用 bash 来完成呢?

作为说明,我知道反向 shell 解释,例如http://blog.safebuff.com/2016/06/19/Reverse-shell-Cheat-Sheet/,但请注意,我正在寻找的是一点不同的。不是打开服务器的端口,而是打开的端口在没有防火墙的客户端上。

bash netcat

2
推荐指数
1
解决办法
1万
查看次数

一个列表的组和总数

使用 bash,是否可以从列表中获取条目计数,例如,对于列表

a
b
a
cccc
b
a
Run Code Online (Sandbox Code Playgroud)

所需的输出将类似于

a 3
b 2
cccc 1
Run Code Online (Sandbox Code Playgroud)

text-processing

0
推荐指数
1
解决办法
34
查看次数