小编wel*_*lly的帖子

Bash:在读取循环中读取输入不起作用

在 while 读取循环中读取输入似乎不起作用

while read line
do
 echo "get some input from the user"
 read response
done < some_file.txt
Run Code Online (Sandbox Code Playgroud)

执行不会像读取在循环之外那样暂停。为什么是这样?是否有在 while 读取循环中读取输入的解决方法?

bash

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

Mac OSX:无法为损坏的符号链接着色

在我的 linux 机器上,您可以区分完整的符号链接和损坏的符号链接,因为损坏的符号链接是红色的。我试图通过在我的 .bash_profile 中向 PSCOLORS 添加一些配置来在我的 mac 上进行设置,但到目前为止没有任何效果。我设法通过着色来区分目录、文件、可执行文件和符号链接。但是,损坏的符号链接与完整符号链接的颜色没有区别。在谷歌上搜索并没有产生任何有希望的结果。想法?招数?

terminal colors .bash-profile macos

13
推荐指数
2
解决办法
3436
查看次数

awk 的管道输出以杀死 -9

我试图杀死任何与 mysql 相关的进程。我正在拼凑一个命令,到目前为止,还没有想出正确的解决方案。另一个考虑是,最后一个进程将对应于命令“grep mysql”——下面命令的一部分。到我尝试杀死它时,此进程将不再存在,因此需要将其从通过管道传输到 kill -9 的输入中排除。完成此任务的最佳方法是什么?到目前为止,我有不完整的命令:

ps -A | grep mysql | awk '{print $1}'
Run Code Online (Sandbox Code Playgroud)

它具有(假的,就本示例而言)输出

11111
22222
33333  # process id to be excluded
Run Code Online (Sandbox Code Playgroud)

我假设我可以像这样将它传递给 xargs kill -9 :

ps -A | grep mysql | awk '{print $1}' | xargs kill -9
Run Code Online (Sandbox Code Playgroud)

并找出排除最后一个 pid 的方法,但我尝试的所有方法似乎都无法正常工作。

unix bash kill awk xargs

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

将字符串从 xargs 插入另一个字符串

假设我有一些输出一堆字符串的命令。此命令的输出可能类似于:

...
foo
bar
blargh
...
Run Code Online (Sandbox Code Playgroud)

说我有一些固定的字符串

myString$Blah
Run Code Online (Sandbox Code Playgroud)

我想在命令的输出中插入 $ 所在的每个字符串,这样我最终会得到一个如下所示的文件:

...
myStringfooBlah
myStringbarBlah
myStringblarghBlah
...
Run Code Online (Sandbox Code Playgroud)

实现这一目标的最简单方法是什么?(awk 和 sed 首选)

unix awk sed

4
推荐指数
2
解决办法
8779
查看次数

使用awk在=符号之前提取子字符串

假设我有一些文件,表格中有一堆行

someString=someMoreCharacters
anotherString.blah=foo=bar
blah.blah.blah=foo.bar.=foobar
Run Code Online (Sandbox Code Playgroud)

期望输出

someString
anotherString.blah
blah.blah.blah
Run Code Online (Sandbox Code Playgroud)

我想使用 awk 来提取从行首开始并一直向上直到但不包括第一个等号的子字符串。我希望能够将此输出通过管道传输到 xargs。

regex awk

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

如何避免使用“查找”降低某些目录?

目前我有这个 find 命令,它避免了特定目录的下降:

find . \! \( -name ".hg" -prune \) \! \( -name "localhost" -prune \) \! \( -name "logs" -prune \) -type f
Run Code Online (Sandbox Code Playgroud)

该命令像我希望的那样工作,但我正在寻找更简洁的解决方案。我觉得我在重复自己很多,必须有一种更优雅/更短的方法来完成同样的事情。

unix bash find

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

Unix "$@" 作为参数

说我有一些命令:

somecommand "$@"
Run Code Online (Sandbox Code Playgroud)

$@ 的意义是什么?这一定是一些我不熟悉的 unix 技巧。不幸的是,因为它都是标点符号,我也不能用谷歌搜索。

unix bash

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

标签 统计

bash ×4

unix ×4

awk ×3

.bash-profile ×1

colors ×1

find ×1

kill ×1

macos ×1

regex ×1

sed ×1

terminal ×1

xargs ×1