在 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 读取循环中读取输入的解决方法?
在我的 linux 机器上,您可以区分完整的符号链接和损坏的符号链接,因为损坏的符号链接是红色的。我试图通过在我的 .bash_profile 中向 PSCOLORS 添加一些配置来在我的 mac 上进行设置,但到目前为止没有任何效果。我设法通过着色来区分目录、文件、可执行文件和符号链接。但是,损坏的符号链接与完整符号链接的颜色没有区别。在谷歌上搜索并没有产生任何有希望的结果。想法?招数?
我试图杀死任何与 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 的方法,但我尝试的所有方法似乎都无法正常工作。
假设我有一些输出一堆字符串的命令。此命令的输出可能类似于:
...
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 首选)
假设我有一些文件,表格中有一堆行
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。
目前我有这个 find 命令,它避免了特定目录的下降:
find . \! \( -name ".hg" -prune \) \! \( -name "localhost" -prune \) \! \( -name "logs" -prune \) -type f
Run Code Online (Sandbox Code Playgroud)
该命令像我希望的那样工作,但我正在寻找更简洁的解决方案。我觉得我在重复自己很多,必须有一种更优雅/更短的方法来完成同样的事情。
说我有一些命令:
somecommand "$@"
Run Code Online (Sandbox Code Playgroud)
$@ 的意义是什么?这一定是一些我不熟悉的 unix 技巧。不幸的是,因为它都是标点符号,我也不能用谷歌搜索。