问题标签 [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.

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 投票
7 回答
3364 浏览

python - UNIX shell 用一种合理的语言编写吗?

有没有人听说过用一种合理的语言(如 Python)编写的 UNIX shell?

0 投票
2 回答
10516 浏览

arrays - KSH 脚本:当值已转义逗号时,如何拆分“,”?

我尝试编写 KSH 脚本来处理由名称-值对组成的文件,每行有几个。

格式为:

假设我写:

这将给我第二个名称-值对,既好又简单。现在,假设任务已扩展,因此值可以包含逗号。他们应该被逃脱,像这样:

显然,我的代码不再有效,因为“读取”会删除所有引用,并且数组的第二个元素将只是“NAME2 VALUE2_1”。

我被没有“read -A array”的旧 ksh 卡住了。我用“read -r”和“eval set -A ....”尝试了各种技巧,但无济于事。我不能使用“read nvl1 nvl2 nvl3”在读取中进行转义和拆分,因为我事先不知道每行中有多少个名称-值对。

有人对我有用吗?

PS 我知道我在 Perl、Python 甚至 awk 中都在短时间内完成了这项工作。但是,我必须在 ksh 中执行此操作(...或死去尝试;)

0 投票
7 回答
25583 浏览

unix - 为什么shell脚本比较经常使用x$VAR = xyes?

我经常在使用自动工具(autoconf、automake)的项目的构建脚本中看到这一点。当有人想要检查 shell 变量的值时,他们经常使用这个成语:

与简单地检查这样的值相比,这样做有什么好处:

我想我经常看到这个肯定是有原因的,但我不知道它是什么。

0 投票
2 回答
8842 浏览

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

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

展示:

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

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

0 投票
8 回答
2417 浏览

shell - shell 文本编辑器是如何工作的?

我是编程新手,但我想知道诸如 vim、emacs、nano 等 shell 文本编辑器是如何控制命令行窗口的。我主要是一名 Windows 程序员,所以在 *nix 上可能有所不同。据我所知,只能将文本打印到控制台并要求输入。文本编辑器如何在命令行环境中创建可导航、可编辑的窗口?

0 投票
3 回答
14268 浏览

shell - ExitCodes 大于 255,可能吗?

如果是,在哪个操作系统、外壳或其他什么上?

考虑以下 java 程序(我以 java 为例,任何语言都可以解决这个问题,这更多地是关于操作系统):

在 Linux 和 bash 上运行它,它总是返回小于等于 255 的值,例如(echo $?打印上一个执行命令的退出代码)


已编辑:下面的(迄今为止唯一的)答案完全解释了 UNIX 上发生的情况。我仍然想知道其他操作系统。

0 投票
7 回答
62661 浏览

shell - 如何比较 Bourne Shell 中的字符串?

我需要比较shell中的字符串:

但显然“*”在 Shell 中不起作用。有没有办法做到这一点?

0 投票
5 回答
950 浏览

windows - Windows下的“Unix shell”类似脚本

我需要一些 shell 脚本专家的帮助。

我有一个 .txt 文件(日志),它在多行上跟踪客户端的 IP 地址,其格式与此类似:

我需要创建脚本:

  • 从此文件中提取 IP 地址
  • 将 IP 地址分组(相同的 IP 地址只报告一次)
  • 输出带有结果 IP 地址的文件

对于前面的示例,生成的文件将是:

我在 Windows 操作系统上,但我可以使用CygwinUnix Tools之类的工具(在 Windows 下提供类似 Unix 的命令,如 grep、sort 等)。

没有脚本的解决方案也可能很好。

在此先感谢您的帮助。