
异步Shell命令
我正在尝试使用Shell脚本来启动命令。我不在乎是否/何时/如何/为什么完成。我希望该过程开始并运行,但是我希望能够立即回到我的外壳…回答:您可以只在后台运行脚本:$ myscript &请注意,这与将&脚本放入内部不同,后者可能无法完成您想要的操作。...
2024-01-10
使用PHP的交互式shell
只是想知道,是否有可能单独使用PHP创建一个交互式shell。我的意思是您在数据库,python等方面拥有类似的东西。如果是,怎么办?回答:是的,有可能。为了进行交互,该程序必须能够等待并从 stdin中 读取用户输入。在PHP中,您可以通过向打开文件描述符来从 stdin中读取'php://stdin'。从一个不同的...
2024-01-10
shell缓冲区大小是4k还是64k?
我在多个地方读到,管道的默认缓冲区大小为4kB(例如,在此处),我ulimit-a倾向于确认该语句:$ ulimit -acore file size (blocks, -c) 0data seg size (kbytes, -d) unlimitedscheduling priority (-e) 0file size (blocks, -f) unlimitedpending signals ...
2024-01-10
如何反转shell字符串中的单词列表?
我有一个字符串中的单词列表:str="SaaaaE SeeeeE SbbbbE SffffE SccccE"我想扭转它以获得"SccccE SffffE SbbbbE SeeeeE SaaaaE"我该怎么做ash?回答:您可以使用awk以下方法:echo "$str" | awk '{ for (i=NF; i>1; i--) printf("%s ",$i); print $1; }'...
2024-01-10
如何在shell中重复破折号(连字符)
如何-在shell中重复n次字符?我已经阅读并尝试过此操作,但这不适用于-。它引发错误invalid option。以下是我使用的确切命令:printf '-%.0s' {1..100}原始发布行: printf '-%0.s' {1..100}我还尝试-通过转义来转义,\但在这种情况下,它会重复\-n次。回答:这将引发错误:$ printf '-%.0s' {1..100}; echo ""bash: printf: ...
2024-01-10
“参数列表太长”限制是否适用于shell内置函数?
假设我想通过标准输入将非常长的字符串传递给命令:string="a very long list of words ..."我能说......么:# not using double quotes around $string is deliberateprintf '%s\n' $string | cmd ...要么cmd <<< $string甚至通过管道将其发送给xargs:printf '%s\n' $string | xargs cmd ...有人可以澄清一下吗?回答:在bash中,操作系统强制...
2024-01-10
在shell中获取文件大小(以字节为单位)的可移植方式?
在Linux上,我使用stat --format="%s" FILE,但是我可以访问的Solaris没有stat命令。那我该怎么用呢?我正在编写Bash脚本,无法在系统上真正安装任何新软件。我已经考虑过使用:perl -e '@x=stat(shift);print $x[7]' FILE甚至:ls -nl FILE | awk '{print $5}'但是,这些看上去都不明智-运行Perl只是为了获取文件大小?还是...
2024-01-10
Shell参数名称后带有井号和百分号的语法
请解释以下语法: i##*. i%.*我了解它在做什么,但是我想知道一般模式(为什么/如何做)。出现的代码:#!/bin/bashrecursive_name_change(){ cd "$1" for i in * do #echo "${i##*.}" if [ -d "$i" ] then recursive_name_change "$i" elif [ "${i##*.}" = "cpp" ] ...
2024-01-10
While循环语法说明
在研究XSD验证时通过this进行了读取。遇到这段代码。While循环语法说明private static IEnumerable<ValidationEventArgs> RunValidation(string inputXml, bool includeHelperSchema) { var schemaSet = new XmlSchemaSet(); schemaSet.Add(schemaUnderTest); if (includeHelperSchema) {...
2024-01-10
Jenkinsfile-脚本管道语法中的条件阶段执行
我们正在使用 语法,Jenkinsfile其中定义了很多阶段来构建和部署代码。我们有一个用例,如果我要执行 运行所有阶段,但是如果需要执行一些AWS路由,则只运行一个特定阶段。我知道我可以使用if(<expression>)跳过阶段或运行阶段。问题是我不想将这个if条件应用于我的每个阶段Jenkinsfile。在新的 语法...
2024-01-10
需要shell脚本语法帮助“for循环和awk”
我正在编写shell脚本来替换数据库中的名称,为此,我有用户列表中的当前名称和新名称在.txt文件中。文件格式是像下面需要shell脚本语法帮助“for循环和awk”**new name current name** abc pqr def stq mnd tdh 对于这个我写个“for循环”使用awk命令,在这里我想它应该给我的$1即abc值,def,mnd等我写下...
2024-01-10
带有进程替换的Shell脚本中的语法错误
我有此Shell脚本,可用于备份系统。有一行:tar -Pzcpf /backups/backup.tar.gz --directory=/ --exclude=proc --exclude=sys --exclude=dev/pts --exclude=backups --exclude=var/log / 2> >(grep -v 'socket ignored' >&2)如您所见,我一直在尝试使用此博客文章通过tar过滤掉烦人的,无用的“套接字忽略”错误。我在执行时从shell中得到的是:/ bi...
2024-01-10
如何在后台运行Shell脚本而没有输出
我写了两个shell脚本a.sh和b.sh。在a.sh和b.sh我有一个无限的for循环,他们打印一些输出到终端。我想写另一个脚本,同时呼吁a.sh和b.sh,但我想用户立即恢复,而不是已经无限运行脚本的终端的控制,我想隐藏在终端输出。回答:使用nohup,如果你的后台作业需要较长时间才能完成,或者你只是使用SecureC...
2024-01-10
Shell脚本波浪号扩展
这是我的脚本:#!/bin/bash echo "Digite o local em que deseja instalar o IGRAFU(pressione enter para instalar em ${HOME}/IGRAFO):"read caminhoif test -z $caminhothencaminho="${HOME}/IGRAFO"fiecho "O IGRAFU será instalado no diretório: $caminho"mkdir -pv $caminhomv...
2024-01-10
Shell脚本:搜索并替换多行
我正在寻找一种通过Shell脚本搜索和替换多行的方法。这就是我想要做的:source:[stuff before]<!--WIERD_SPECIAL_COMMENT_BEGIN--> [stuff here, possibly multiple lines.<!--WIERD_SPECIAL_COMMENT_END-->[stuff after]target:[stuff before][new content][stuff after]简而言之,我想删除注释及其之间的所有内容,并替换为一些新内容。基本上...
2024-01-10
将变量从shell脚本传递给jenkins
我从Jenkins触发了一个shell脚本,该脚本获取日期并将其导出为环境(Linux)变量$ DATE。我需要在同一詹金斯工作中使用此$DATE。我做了工作作为参数构建。创建一个字符串参数作为DATE值,如DATE = $ DATE。但这是行不通的。请建议!回答:您提到要DATE在外壳程序脚本中导出环境变量,该脚本可能是通过...
2024-01-10
从脚本化的Jenkinsfile触发每小时构建
有没有一种方法可以使用Jenkinsfile 脚本化管道 语法来触发Jenkins作业每小时运行一次?我看到了使用声明性语法的示例,但没有使用管道语法的示例。pipeline { agent any triggers { cron '@daily' } ...}回答:您可以将此代码段用于Scripted pipeline syntax:properties( [ ... , // other properties...
2024-01-10
从Shell脚本调用JMX MBean方法
是否有任何库允许我从Shell脚本调用JMXMBean方法。我们通过JMX公开了一些操作/管理命令,我们可以让管理员使用JConsole或VisualVM,但最好将某些任务留给自动化。在这种自动化中,我们希望能够在运行的服务器上调用JMXMBean方法,最好是从Shell脚本中调用。回答:可以使用以下命令行JMX实用程序:jmxter...
2024-01-10
通过shell脚本将用户添加到sudoers
是否可以通过shell脚本将用户添加到sudoers文件中?我一直在环顾四周,仍然找不到任何东西。回答:您可以简单地echo(当然具有提升的特权)直接访问/etc/sudoers文件:sudo -iecho 'nickw444 ALL=(ALL:ALL) ALL' >> /etc/sudoers# ^^# tab(请注意用户名和第一个之间的制表符ALL)或者,对于脚本:...
2024-01-10
想要将环境变量从启动脚本导出到其他shell
我正在使用Busybox作为shell的嵌入式系统上工作。我的启动脚本rcS中导出大量的变量:想要将环境变量从启动脚本导出到其他shell UBOOT_ENV="gatewayip netmask netdev ipaddr ethaddr eth1addr hostname nfsaddr" for i in $UBOOT_ENV; do if [ -n "$i" ] ; then export `fw_printenv $i` fi done 然后将它们提供给脚本此脚本...
2024-01-10
如何使用jshell执行Java脚本?
鉴于Java 9已经来临,我们终于可以拥有JavaREPL了,jshell我希望有一种方法可以在脚本中添加shebang并对其进行jshell解释。我尝试创建test.jsh:#!/usr/bin/env jshell -sSystem.out.println("Hello World")/exit然而,这给出了:⚡ ./test.jsh| Error:| illegal character: '#'| #!/usr/bin/env jshell -s| ^| Error:| illegal s...
2024-01-10
使用html按钮运行shell脚本
我想在网站上按下按钮时启动bash脚本。这是我的第一次尝试:<button type="button" onclick="/path/to/name.sh">Click Me!</button>但是没有运气。有什么建议么?回答:如Luke所述,您需要使用服务器端语言,例如php。这是一个非常简单的php示例:<?phpif ($_GET['run']) { # This code will run if ?run=true is set. exec("/path/to/name...
2024-01-10
在shell中获取程序执行时间
我想在几种不同条件下在linux shell中执行某些操作,并能够输出每次执行的执行时间。我知道我可以编写一个可以执行此操作的perl或python脚本,但是有什么方法可以在shell中执行它吗?(碰巧是bash)回答:使用内置time关键字:$帮助时间时间:时间[-p]管道 执行PIPELINE并打印实时,用户CPU时间, ...
2024-01-10
确定Shell程序中的相对路径还是绝对路径
如标题中所述,我需要确定路径是相对路径还是绝对路径,何时运行程序:./program #relativedir/dir2/program #relative~User/dir/dir2/program #absolute/home/User/dir/dir2/program #absolute这是我的测试用例。我到底该如何在Shell程序中执行此操作?或更笼统地说,$0在这种情况下,如何检查路径是相对的还是绝对的?回答...
2024-01-10
Shell-将变量内容写入文件
我想将变量(这里称为var)的内容复制到文件中。文件名存储在另一个变量中destfile。我在执行此操作时遇到问题。这是我尝试过的:cp $var $destfile我还用dd命令尝试了相同的操作…显然,shell认为这$var是指目录,因此告诉我找不到该目录。我该如何解决?回答:使用echo命令:var="text to append";destd...
2024-01-10
如何从Shell确定当前的CPU使用率?
如何确定Linux中Shell的当前CPU使用率?例如,我得到如下的平均负载:cat /proc/loadavg输出:0.18 0.48 0.46 4/234 30719回答:Linux没有任何提供当前CPU使用率的系统变量。取而代之的是,您必须阅读/proc/stat几次:各行中的每一列都cpu(n)给出了总的CPU时间,并且您必须对其进行后续读取才能获得百分比。请参...
2024-01-10
Shell-如何查找某些命令的目录?
我知道当您在shell上时,只能使用在PATH上某个目录中可以找到的命令。即使我也不知道如何查看PATH变量上的目录(这是另一个可以回答的好问题),我想知道的是:我来壳写:$ lshw我想知道shell上的命令,该命令可以告诉我该命令位于何处。换句话说,此“可执行文件”位于何处?就像是:$ location...
2024-01-10
在AC程序中运行Shell命令
我想在我的C程序中运行Shell命令。但问题是我不想让我的程序等到命令执行完毕。无需读取shell命令的输出(无论如何它都不会返回数据)那么,基本上可以吗?回答:fork()并且system()是你所需要的...
2024-01-10
设置Java SWT Shell窗口内部区域的大小
在Java SWT Shell窗口中,如何设置其内部大小而不是其整个窗口框架大小?例如,如果我使用shell.setSize(300,250),这将使整个窗口显示为恰好为300x250。此300x250包括窗口框架的大小。如何设置内部尺寸,也就是将Shell窗口的内容显示区域改为300x250?这就是300x250,不包括窗口框架的宽度。我尝试减去一...
2024-01-10
如何在Shell中处理10个以上的参数
我在Linux上使用bash shell,并且要在shell脚本中使用10个以上的参数回答:使用花括号将其设置为关闭:echo "${10}"您还可以像这样遍历位置参数:for arg要么for arg in "$@"要么while (( $# > 0 )) # or [ $# -gt 0 ]do echo "$1" shiftdone...
2024-01-10
从Java执行Shell命令
我正在尝试从GNU /Linux平台上的Java应用程序执行shell命令。问题是,尽管它可以从bash成功运行,但调用另一个Java应用程序的脚本永远不会结束。我试图调试它:(gdb)bt__kernel_vsyscall中的#0 0xb773d422()pthread_join中的#1 0xb7709b5d(threadid = 3063909232,thread_return = 0xbf9cb678)在pthread_join.c:89#2 0x0804dd78在C...
2024-01-10
