Questions tagged [shell]

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.

Filter by
Sorted by
Tagged with
0 投票
1 回答
299 浏览

将正在运行的程序的输出通过管道传输到 xargs

我有一个通过 i2c 连续读取加速度计数据的 C 程序。每当数位板的方向发生变化时,它都会向标准输出输出一个新行。

现在,我希望能够在 bash 脚本中使用该输出来更改屏幕的旋转。

现在,问题是这样的:当我在 bash 中查看程序的输出时,程序正在逐行输出更改。当我将输出重定向到文件时,输出会连续写入文件中,但是当我尝试通过管道传输输出时,什么也没有发生。

这是C程序:

这是我在 bash 中的试用:

0 投票
3 回答
1668 浏览

通过 unix shell 管道

什么是只返回输入的 UNIX shell 程序?

例如

0 投票
3 回答
1155 浏览

通用命令行 SQL 程序?

是否有任何应用程序/项目为您提供可以与多个数据库一起使用的命令行 SQL 客户端和/或提供编写您自己的驱动程序的机制?

换句话说,我正在寻找类似 mysql 命令行客户端或用于 Oracle 的 SQL*Plus 之类的东西,但这与数据库无关。

欢迎所有平台,但 OS X/*nix 方法的额外积分。

0 投票
2 回答
1656 浏览

如何在 Debian 上使用带有 Hudson CI 服务器的 RVM?

我正在尝试使用 Hudson CI 为我的 Rails 项目设置一个自动“构建”服务器。到目前为止,它能够运行规范并对代码进行度量,但我有 2 个不同的项目依赖于 2 个不同版本的 ruby​​。所以我尝试使用 RVM 运行多个 ruby​​ 副本,然后在预构建步骤中来回切换。

我发现了一些像这样的帖子,试图解释如何使它工作,但我没有为 hudson 运行启动脚本,它在启动时启动,这就是我通过 debian 安装它时开箱即用的工作方式指示。

问题似乎是,即使 hudson 在“hudson”帐户下运行并且该帐户在尝试运行基于 shell 的预构建步骤以调用 rvm 开关 1.8.7 时安装了 rvm(并且正在工作),它也会失败并显示错误“rvm : 找不到命令”

不知道我做错了什么。Hudson 使用 SH 作为其外壳,但我也尝试使用 bash。没运气。

有没有人在这个设置中得到这个工作?

0 投票
2 回答
272 浏览

在 shell -n 中回显没有正确打印

我知道这是某种特殊字符问题,但我不知道如何解决。

我输入控制台

什么都没有打印出来:(

我也试过

执行特殊字符(从序列中转义的字符),但又什么也没发生

我怎样才能打印“-n”?

0 投票
3 回答
612 浏览

如何将文本添加到同一行?

我使用此命令查找 mp3 文件并将其名称写入 log.txt:

find -name *.mp3 >> log.txt

我想使用 mv 命令移动文件,并且我想将其附加到日志文件中,以便它可以显示文件被移动的路径。

例如,如果 mp3 文件是 1.mp3 和 2.mp3,那么 log.txt 应该看起来像

如何使用 unix 命令来做到这一点?谢谢!

0 投票
2 回答
328 浏览

wxPython -- Bash 外壳

嘿,我想在 wxPython 中创建一个 bash-shell,它唯一能做的就是运行一个 python 文件并能够即时提供 user_input。(我知道有一个 Python Shell,但那是不同的)

有人可以帮我弄这个吗?提前致谢

0 投票
4 回答
3965 浏览

Unix shell:如何检查用户输入以查看它是否是有效的 unix 命令?

我有一个任务,我需要使用 fork() 创建一个 unix shell。我已经让这个工作正常了。现在我需要检查用户输入以查看它是否是有效的 unix 命令。如果它无效(即它的“1035813”),我需要告诉用户输入一个有效的命令。

有没有一种方法可以获得每个可能的 unix 命令的列表,以便我可以将用户输入与该列表中的每个字符串进行比较?或者有没有更简单的方法来做到这一点?

0 投票
7 回答
14857 浏览

在 shell 脚本中实现无限等待

这听起来可能微不足道,但我很确定这个问题还没有被问到,或者至少我找不到。

我正在寻找一种使用 shell 脚本构建无限等待(不一定是循环)的方法,以便它永远等待并且可以被杀死(或者从技术上讲,接收 a SIGTERM)。以下是已知的可能的构造和反对它们的论据:

  1. while true; do sleep 1; done这几乎得到了它,但由于sleep是外部命令,当我向SIGTERM运行脚本发送 a 时,它必须先等待sleep完成,然后再处理信号。更改sleep 1为类似的东西sleep 10,滞后将是显而易见的。此外,该解决方案每 1 秒唤醒一次 CPU,这并不理想。
  2. while true; do read; donestdin这在tty时是完美的。read是一个内置的 shell 并SIGTERM立即到达脚本。但是,当stdin是时/dev/null,脚本会无助地read永远运行在/dev/null.

因此,需要一个永远等待的shell 内置构造。浏览一下,man dash我没有找到这样一个 - 唯一的阻塞内置函数是readand wait,我不知道如何使用wait.

答案应该适用于 POSIX shell(有效dash),或者不太适用于 Bash。

补充笔记。

第一个示例不能完美运行的情况比我想象的要复杂。使用以下 shell 脚本:

如果你在另一个 tty 上杀死它,它会立即终止。当您尝试进行诱捕时,有趣的事情就开始了。使用此脚本:

示例 1 中准确描述了发生的情况。这发生在 bash、dash 和 zsh 中。正是在这种情况下,我正在寻找一个“完美”的无限外观构造。

0 投票
3 回答
2892 浏览

Bash - $PATH 和 ${PATH}

使用环境变量(如 PATH)作为 $PATH 或 ${PATH} 有什么区别?


15 30 50 per page
1
2 3 4 5
1498226