问题标签 [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 投票
5 回答
4063 浏览

bash - autoconf 使用 sh,我需要 SHELL=BASH,如何强制 autoconf 使用 bash?

我正在运行 autoconf 并将 SHELL 设置为“/bin/sh”。这会产生巨大的问题。如何强制 SHELL 成为 autoconf 的“/bin/bash”?

我试图让它在 osx 上运行,它在 linux 上运行。Linux 使用 SHELL=/bin/bash。osx 默认为 /bin/sh。

0 投票
15 回答
91529 浏览

bash - bash:在后台启动多个链式命令

我正在尝试使用 bash 在后台并行运行一些命令。这是我正在尝试做的事情:

反引号 (``) 之间的部分生成一个新的 shell 并连续执行命令。问题是,只有在执行完最后一个命令后,才会返回对原始程序的控制。我想在后台执行整个语句(我不期待任何输出/返回值)并且我希望循环继续运行。

调用程序(具有循环的程序)在所有生成的 shell 完成之前不会结束。

我可以在 perl 中使用线程来生成调用不同 shell 的不同线程,但这似乎有点矫枉过正......

我可以启动一个 shell,给它一组命令并告诉它进入后台吗?

0 投票
9 回答
29688 浏览

bash - Emacs shell 模式中的 Bash 自动完成

在 GNOME 终端中,Bash 进行智能自动完成。例如

变成

在 Emacs shell 模式中,即使在我明确地 source 之后,这种自动完成功能也不起作用/etc/bash_completion。上面的示例坚持in或自动完成当前目录中的文件名,而不是有效的apt-get命令选项。据推测,这是因为 Emacs 正在拦截 Tab 按键。如何在 中启用智能自动完成shell-mode

0 投票
5 回答
5400 浏览

python - 如何在 Mac OS X 上的 Python 交互式 shell 中输入英镑字符 (£)?

更新:谢谢大家的建议。经过进一步研究,我在这里重新提出了问题:OS X 上的 Python/editline:£ 符号似乎绑定到 ed-prev-word

在 Mac OS XI 上,无法在 Python 交互式 shell 中输入英镑符号 (£)。

  • Mac OS X 10.5.5
  • Python 2.5.1(r251:54863,2008 年 1 月 17 日,19:35:17)
  • 欧式键盘(£ 是 shift-3)

当我在空的 Python shell 中键入“£”(即按 shift-3)时,什么也没有出现。

如果我已经输入了一些字符,例如

... 然后按 shift-3 将使光标自身定位在最近的空格之后,或者如果光标和行首之间没有空格,则定位在行首。

在普通的 bash shell 中,按 shift-3 会按预期键入“£”。

知道如何在 Python 交互式 shell 中键入文字“£”吗?

0 投票
20 回答
1490905 浏览

bash - 如何迭代 Bash 中变量定义的一系列数字?

当范围由变量给出时,如何迭代 Bash 中的数字范围?

我知道我可以做到这一点(在 Bash文档中称为“序列表达式” ):

这使:

1
2
3
4
5

但是,如何用变量替换任一范围端点?这不起作用:

哪个打印:

{1..5}

0 投票
0 回答
45277 浏览

bash - 如何防止脚本同时运行?

我想防止我的脚本一次运行不止一次。

我目前的做法是

  • 创建一个包含正在运行进程的 pid 的信号量文件
  • 读取文件,如果我的进程 ID 不在其中退出(你永远不知道......)
  • 在处理结束时,删除文件

为了防止进程挂起,我设置了一个 cron 作业来定期检查文件是否旧于允许的最大运行时间,如果它仍在运行,则终止该进程。

我是否有杀死错误进程的风险?

有没有更好的方法来整体执行此操作?

0 投票
2 回答
41939 浏览

database - 如何查找和跟踪 Oracle 警报日志

当您第一次查看 Oracle 数据库时,第一个问题通常是“警报日志在哪里?”。网格控制可以告诉您,但它通常在环境中不可用。

一段时间前,我发布了一些 bash 和 Perl 脚本来查找和跟踪我博客上的警报日志,我很惊讶地看到该帖子仍然获得了很多点击。

使用的技术是从 v$parameter 中查找 background_dump_dest。但我只在 Oracle 数据库 10g 上测试过这个。

还有比这更好的方法吗?有谁知道这在 11g 中是否仍然有效?

0 投票
10 回答
251377 浏览

linux - 如何在不运行 Bash 脚本的情况下对其进行语法检查?

是否可以在不执行的情况下检查 bash 脚本语法?

使用 Perl,我可以运行perl -c 'script name'. bash 脚本是否有任何等效命令?

0 投票
2 回答
8842 浏览

bash - 设置从命名管道读取的管道而不在 bash 中阻塞

我正在寻找一个打开给定管道的文件描述符的子进程,这样 open() 调用不会挂起等待管道的另一端接收连接。

展示:

在这种情况下,some_program直到某个进程/tmp/foobar.pipe打开以供写入,才会运行;然而,some_program即使它没有接收命令也有有用的效果,因此所需的行为是some_program立即执行。

通过另一种脚本语言(python、perl 等)或以标志打开的 C 包装器执行此操作的机制/tmp/foobar.pipeO_NONBLOCK显而易见的;如果可能的话,我正在寻找一种纯 bash 解决方案。

0 投票
4 回答
7711 浏览

linux - 为什么“at”命令总是警告我命令将通过 sh 执行?

每次我使用“at”命令时,都会收到以下消息:

它想警告我什么?更重要的是,如何关闭警告?