问题标签 [ash]

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

linux - Linux shell:将IP写入二进制文件

使用 ash,我有一个 IP 地址作为变量

IP_ADDR=192.168.1.234

我想将 4 个字节写入二进制文件,然后重新读取它们并重新调整 IP 字符串。

我有以下可行的解决方案,但它似乎很老套——有更好的建议吗?

写:

注意 seek=19 表示在二进制文件(字节 19)中写入的位置

读:

0 投票
4 回答
104 浏览

linux - 如何使我的程序的输入文件从第 3 行开始?

我有一个程序以这种方式从文件中读取数据

现在我希望我的程序从第 3 行而不是从文件的开头读取输入文件。

我必须使用< inputfile.txt. 由于变量范围问题,我无法使用管道调用

有没有办法在 Linux 中做到这一点?

0 投票
1 回答
588 浏览

sh - 为什么 ash shift 命令会导致整个脚本退出?

我有一个脚本test.sh

但是当我./test.sh不带参数执行时,它不输出require arg1: output file path输出是shift: nothing to shift

谁能告诉我为什么?

我的灰烬环境:Busybox Android 2.2~4.4

0 投票
1 回答
362 浏览

curl - 在 shell 脚本中使用 CURL 的问题

我在使用带有 shell 脚本变量的 CURL 时遇到问题。我确定这是我忽略的简单事情。我正在创建一个附加了 Linux 机器 MAC 地址的 URL。一旦我建立了 URL,我就会尝试将它传递给 curl 以将文件从远程位置下载到本地计算机的 /tmp 目录中。CURL 执行没有任何错误,但没有数据传输。我在 $url 周围尝试了单引号和双引号,但没有成功。任何帮助将不胜感激。

谢谢,肖恩

0 投票
2 回答
410 浏览

linux - 如何使用 Linux (Bash) 在目录内移动文件

我正在寻找一个好的 shell one 班轮来移动或重命名目录中的文件,其中目标和目标父目录相同,但与当前工作目录不同。例如,我不想写的东西:

如何在不输入“/usr/share/nginx/html/”两次或使用多个命令(切换目录、pushd 等)的情况下做同样的事情?

0 投票
4 回答
621 浏览

linux - 带有“[”和“]”分隔符的 awk 错误

我的字符串看起来像这样

我想提取[ ]. 我使用了以下awk命令

但是此awk命令返回错误:

如何解决?

0 投票
2 回答
196 浏览

bash - 如何在 ash 或 dash 脚本中使用带有 grep 的制表符分隔符?

手头的任务:

我有一个包含四个制表符分隔值的文件:

我需要根据第二列从这个文件中取出一行,并且值在一个变量中。假设我将数字 123 存储在变量 foo 中。在 bash 我可以做

我摆脱了彼得的信息,没有别的。有没有办法在破折号或灰烬上实现相同的目标?

0 投票
1 回答
409 浏览

linux - 不能在busybox sh中增加一个超过8的0填充数字

这是我用来保存相机文件并从 0001 开始命名的代码。相机运行 Busybox,里面有一个灰壳。
该代码基于 Charles Duffy 先前的回答

这是我在脚本操作期间在 cmd 行上得到的。我手动运行脚本九次,但在保存文件snapfull0008.jpg后,如您在最后几行中看到的,文件仅命名为snapfull0000.jpg

文件编号 8 后序列停止的原因可能是什么?

0 投票
2 回答
716 浏览

python - 通过 paramiko 的busybox ash没有在标准输出上发出提示

我创建了 Python GUI,它将命令列表作为输入并通过 Telnet 或 SSH 会话执行该列表。在打开 SSH 会话(在 Python 中使用 Paramiko)时,我在 for 循环中使用此代码在各种设备上运行命令:

该代码设计用于安装了 BusyBox 的调制解调器。因此,用户输入命令以打开busybox 并在BusyBox shell 中运行一系列命令是很常见的。正如您在这行代码“if (temp.endswith(delim)) 或 (temp.endswith("# "))”中所见,当检测到“ # "(这意味着命令已经完成输出)。

我遇到的问题是 BusyBox 没有将命令提示符打印到标准输出或调试行“print temp”中。为什么是这样?命令输出(例如 ls -l)成功打印到标准输出,但不是命令提示符或busybox介绍消息:当用户在这些调制解调器上输入busybox时,会打印介绍消息“BusyBox v1.17.2 (2014-10-02 10:50:35 PDT)内置外壳(ash)输入“帮助”以获取内置命令列表。” 这也不会打印到 STDOUT。这迫使代码利用在busybox中执行的每个命令的超时,这是不希望的,即它很慢,并且可能有命令输出花费的时间比所需的超时时间长,因此最好查找命令提示符。

这个问题是由于在 BusyBox 中实施了 ash 造成的吗?有没有办法接收命令提示符文本?

0 投票
3 回答
667 浏览

bash - 如何在shell中移动和重命名带有随机字符的文件?

我有这个文件:

/root/.aria2/aria2.txt

我想把它移到:

/var/spool/sms/outgoing/aria2_XXXXX

请注意,XXXXX 是随机字符。

我如何仅使用openwrt(用于嵌入式设备的 GNU/Linux 发行版)和ashshell 公开的设施来做到这一点?