问题标签 [bash]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
14 回答
88639 浏览

linux - 你如何杀死所有超过某个年龄的 Linux 进程?

我对某个服务器上的一些类似僵尸的进程有疑问,这些进程需要不时被杀死。我怎样才能最好地识别运行时间超过一个小时左右的那些?

0 投票
14 回答
191235 浏览

linux - 如何在 linux 中显示来自 bash 脚本的 GUI 消息框?

我正在 Ubuntu linux 下编写一些小 bash 脚本。我希望能够从 GUI 运行它们,而无需终端窗口来输入任何输入或查看任何输出。

到目前为止,唯一需要的输入是 sudo 的密码 - 而 gksudo 处理得很好。但是我还没有找到一种简单的方法来显示消息框。是否有某种“gkmessage”命令可用?我更喜欢默认 Ubuntu 安装中存在的东西,但我不介意在必要时安装新包。

0 投票
19 回答
192410 浏览

bash - 如何解析 shell 脚本中的符号链接

给定一个绝对或相对路径(在类 Unix 系统中),我想在解析任何中间符号链接后确定目标的完整路径。同时解决 ~username 符号的奖励积分。

如果目标是一个目录,则可以将 chdir() 放入该目录,然后调用 getcwd(),但我真的想从 shell 脚本中执行此操作,而不是编写 C 帮助程序。不幸的是,shell 倾向于尝试对用户隐藏符号链接的存在(这是 OS X 上的 bash):

我想要的是一个函数 resolve(),这样当从上面示例中的 tmp 目录执行时,resolve("foo") == "/Users/greg/tmp/bar"。

0 投票
3 回答
3426 浏览

linux - 如何在 Bash 命令行中生成 ASCII 代码 2 和 3?

如果我按Ctrl+B应该给我 ASCII 代码 2,但Ctrl+C将被解释为中断。

所以我想我必须重定向一个文件。如何将这些字符放入文件中?

0 投票
9 回答
4003 浏览

bash - 为什么我不应该在 shell 脚本上“赌公司的未来”?

我正在查看http://tldp.org/LDP/abs/html/why-shell.html并被以下内容震惊:

何时不使用 shell 脚本

...

  • 您押注于公司未来的关键任务应用程序

为什么不?

0 投票
13 回答
412456 浏览

linux - 如何在 Linux 中在分段错误时生成核心转储?

我在 Linux 中有一个进程出现分段错误。我如何告诉它在失败时生成核心转储?

0 投票
5 回答
28010 浏览

bash - 如何将 Markdown 文档批量转换为 HTML?

我正在用 Markdown 编写一些文档,并为文档的每个部分创建一个单独的文件。我希望能够一次将所有文件转换为 HTML,但我找不到其他尝试过同样事情的人。我在 Mac 上,所以我认为一个简单的 bash 脚本应该能够处理它,但我从来没有在 bash 中做过任何事情,也没有任何运气。似乎写一些东西应该很简单,所以我可以运行:

有任何想法吗?

0 投票
3 回答
3347 浏览

bash - 为什么 **find** 找不到任何东西?

我正在寻找安装在我的系统上的 shell 脚本文件,但find不起作用:

但我知道那里有很多脚本。例如:

为什么找不到工作?

0 投票
3 回答
12801 浏览

linux - Bash 管道处理

有谁知道 bash 如何处理通过管道发送数据?

此命令是否将 file.txt 的所有内容打印到缓冲区中,然后由 tail 读取?还是这个命令,比如说,逐行打印 file.txt 的内容,然后在每一行暂停以便 tail 处理,然后要求更多数据?

我问的原因是我正在嵌入式设备上编写一个程序,该程序基本上对一些数据块执行一系列操作,其中一个操作的输出作为下一个操作的输入发送。我想知道linux(bash)是如何处理这个问题的,所以请给我一个一般性的答案,而不是当我运行“cat file.txt | tail -20”时会发生什么。

编辑:Shog9 指出了一篇相关的 Wikipedia 文章,这并没有直接引导我找到这篇文章,但它帮助我找到了这个:http ://en.wikipedia.org/wiki/Pipeline_%28Unix%29#Implementation确实有我正在寻找的信息。


我很抱歉没有说清楚。当然,您正在使用管道,当然您正在使用命令各个部分的标准输入和标准输出。我以为这太明显了,无法说明。

我要问的是如何处理/实施。既然两个程序都不能同时运行,那么数据是如何从标准输入发送到标准输出的呢?如果第一个程序生成数据的速度明显快于第二个程序会怎样?系统是否只运行第一个命令直到它被终止或者它的标准输出缓冲区已满,然后继续执行下一个程序,等等循环直到没有更多数据需要处理或者是否有更复杂的机制?

0 投票
16 回答
132754 浏览

bash - 删除 bash 中除最近的 X 文件之外的所有文件

有没有一种简单的方法,在带有 bash 的非常标准的 UNIX 环境中,运行命令从目录中删除除最新 X 文件之外的所有文件?

举一个更具体的例子,想象一下某个 cron 作业每小时将一个文件(例如,一个日志文件或一个 tar-ed 备份)写入一个目录。我想要一种运行另一个 cron 作业的方法,该作业将删除该目录中最旧的文件,直到少于 5 个。

为了清楚起见,只有一个文件存在,它永远不应该被删除。