【发布时间】:2018-12-26 22:19:32
【问题描述】:
我正在尝试获取系统启动时执行的所有程序的列表。
我的游戏计划如下:
-
grep -r/etc/init.d和/etc/rc.d/*目录 - 搜索任何明确以“/”开头的行
- 包括从反引号和 $() 执行
- 假设通过指定完整路径执行并忽略相对路径执行(即
./...)
为此,我使用了以下内容:
egrep -r '^\s*/|\$\(\s*/|\`\s*/' /etc/rc.d/* /etc/init.d
由于它在目录中搜索文件,结果会列出找到它的文件和整行。我现在想将结果通过管道传输到一些东西中,以获取文件名和管道到sort|uniq 以获得简化的列表。我想我可以以某种方式使用 awk,但我对它不是很熟悉。
示例结果:
/etc/init.d/foo: foo=$(/bin/echo hello)
/etc/init.d/bar: bar=$(/bin/echo world)
/etc/rc.d/init.d/foobar: /bin/false
期望的输出:
/bin/echo
/bin/false
【问题讨论】: