bash相关内容

阶乘计算中的变量乘法

我正在编写一个脚本来计算给定数字的阶乘,但我在乘法方面遇到了一些问题。 注意:的阶乘为:9!=9*8*7*6*5*4*3*2*1 以下是我的代码: #!/bin/bash echo "Insert an Integer" read input if ! [[ "$input" =~ ^[0-9]+$ ]] ; then exec >&2; echo "Error: Y ..
发布时间:2022-09-23 10:07:13 其他开发

如何在我的bash提示符中正确使用双字符宽的emoji?

我想在我的bash提示符(即PS1环境变量)中使用美国国旗表情符号。然而,美国国旗表情符号会导致终端光标向右偏移一个额外的字符。 🇺🇸由两个unicode字符组成:🇺和🇸。我相信终端正在将其转换为单间距表情字符(旗帜),但仍为两个字符分配空间。如何实现预期的光标位置? 我想: 🇺🇸 Desktop akirna 🗽 ls| 我收到: 🇺🇸 Desktop a ..
发布时间:2022-09-21 22:12:47 其他开发

Bash Trap不会忽略信号

请考虑此bash脚本: #!/bin/bash trap '' INT echo sleep: sleep 5 echo rsync: rsync -a /usr/lib /var/tmp 如预期的那样,尝试使用ctrl-c中断睡眠失败。但rsync是可中断的(睡眠和rsync的顺序并不重要)?欢迎任何想法! 编辑: 发现了不同之处:rsync本身启动了两个子进程(我 ..
发布时间:2022-09-21 14:29:07 其他开发

BASH中的逻辑运算符求值

逻辑表达式在Bash中的计算似乎是反向的,而不是像C这样的编程语言。 例如,ECHO在成功时将返回0,因此我预期: echo hi || echo back4more 将输出hi,然后输出back4more到标准输出,因为首先返回0,并且需要检查第二个语句以确定整个逻辑OR表达式的真实性。但是,它只打印hi。 同样,这可以从: 中看到 echo hi && echo ba ..
发布时间:2022-09-05 09:40:23 其他开发

使用具有给定ID的BG和FG

我正在使用Ubuntu。 如果为我指定了作业的ID,我如何将暂停的作业转到后台/前台和运行状态? 我知道bg/fg,但它们需要job id不需要PID。 另外,我使用 暂停作业 kill -STOP 我知道我可以用 kill -CONT 但我不知道如何使用此ID的bg和fg命令。 编辑:我想说清楚: 场景:我有一个暂停的作业, ..
发布时间:2022-08-24 10:00:10 服务器开发

运行Spawn/Expect以加入Active Directory

不太确定这是否是提出这个问题的合适论坛。但我确实看到了很多特定于使用Expect/Spawn/Send的问题,所以就是这样了。我正在构建一个bash脚本以加入Active Directory域。当我尝试执行该脚本时,收到以下错误: spawn realm join --user="foouser@foo.local" --computer-ou="OU=Foo,OU=Foo Servers, ..
发布时间:2022-08-20 19:50:02 其他开发

如何在Java程序中检查Unix凭据

我有两个表示用户的字符串和该用户的密码。我想检查这是否为Unix环境中的有效身份验证对。 我考虑运行一个sudo bash命令在Java代码内部进行身份验证,并查看执行的命令的退出值是否等于0。 但是,我无法执行此操作。 public class Test{ public static void main(String args[]){ String us ..
发布时间:2022-08-20 14:38:17 Java开发

GREP-Q";有什么意义?

我在阅读grep手册页时遇到了-q选项,它告诉grep“不向标准输出写入任何内容。如果找到任何匹配项,则立即以零状态退出,即使检测到错误也是如此。” 我不明白为什么这会是可取的或有用的行为。在一个程序中,谁的理由似乎是从标准输入、进程、写入标准输出中读取的,我为什么要完全将其静音? 在什么情况下,使以输出为目标的程序静默是有用的?为什么有人要完全忽略错误并强制执行成功的返回代码? 谢 ..
发布时间:2022-08-18 18:05:54 服务器开发

使用GNU Make递归复制文件

我有一个存储项目资产的目录,比如: +-- assets | +-- styles | | +-- child | | | +-- child.css | | +-- main.css | +-- font.ttf | +-- image.png 如您所见,它们是几种文件类型(这只是一个示例,可能还有更多类型),树深度可能会有所不同。 如何将所有 ..
发布时间:2022-08-12 09:27:35 其他开发

将命令行参数绑定到数组中,并根据参数值将该数组设置为子集

我正在尝试获取bash脚本的输入参数。 Testbash.sh 4 1 2 4 5科学a p* 我希望将这些参数作为数组获取,我使用$@将所有参数获取到一个数组中。现在,基于第一个参数,我需要将其余参数子集。这里第一个数字是4,因此从第二个参数到第五个参数应该保存为类似[1 2 4 5]的数组,其余参数保存在另一个数组中。 我试过 array=( $@ ) len=${#array[@ ..
发布时间:2022-08-10 15:15:11 服务器开发

从bash脚本激活conda环境

我想从bash脚本更改我的conda环境。 我想运行bash script_yxz,其中‘SCRIPT_XYZ’类似于: #!/bin/bash conda activate my_env 并切换到my_env。 如果我运行source script_yxz,这已经可以工作了。 但我有一个问题,那就是我无法使用‘sshpass’在远程计算机上‘源’。 为了更好地理解我的目的 ..
发布时间:2022-08-06 13:35:53 其他开发

如何通过Cygwin在Windows上安装sshpass?

在CygWin的Packages窗口中,当我键入sshpass时,没有出现任何内容。我尝试安装类似的包,如openssh等,希望其中一个包包含sshpass,但没有成功。 推荐答案 sshpass不提供Cygwin包。这意味着您需要从源代码构建和安装。要在Windows(Cygwin)上构建sshpass: $ curl -LO http://downloads.sourcefo ..
发布时间:2022-08-03 21:56:51 其他开发