
在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
如何在Java程序中将参数传递给Shell脚本
我试图运行在运行时调用shell脚本的Java代码。当我在终端中运行脚本时,我正在将参数传递给脚本码:./test.sh argument1Java代码:public class scriptrun { public static void main(String[] args) { try { Process proc = Runtime.getRuntime().exec(...
2024-01-10
如何从Java程序中异步运行Shell脚本
我想从Java程序中异步运行Shell脚本-即在Java程序开始执行该Shell脚本之后,它会继续执行其他操作-并且仅当Shell脚本返回对其的响应时才做进一步的工作..即,它不会显式停止并等待shell脚本的响应。这可能/可行吗?如何实现这种功能?基本上,我将使用一个将管理所有这些服务器的服务器来监视多个...
2024-01-10
来自shell脚本的Java程序中的输入值
我想知道是否有从sh脚本到Java程序中的输入值的方式。例如我有一个program.jar。我做java -jar program.jar它输出:来自shell脚本的Java程序中的输入值Enter your name: 是否可以编写一个脚本sh这样的:java -jar program echo name 其中name的会是该程序的输入?回答:为了呼应数据到你的Java程序从壳做这样的事情...
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脚本中读取JSON数据
在shell中,我有一个要求,我必须读取以下格式的JSON响应: { "Messages": [ { "Body": "172.16.1.42|/home/480/1234/5-12-2013/1234.toSort", "ReceiptHandle": "uUk89DYFzt1VAHtMW2iz0VSiDcGHY+H6WtTgcTSgBiFbpFUg5lythf+wQdWluzCoBziie8BiS2GFQVoRjQQfOx3R5jUASxDz7SmoCI5bNPJkWqU8ola+OYBIYNuCP1f...
2024-01-10
使用Shell脚本从UNIX中的文件名中提取日期
我正在编写shell脚本。我想从文件名中提取日期。文件名是: abcd_2014-05-20.tar.gz我想从中提取日期: 2014-05-20回答:echo abcd_2014-05-20.tar.gz |grep -Eo '[[:digit:]]{4}-[[:digit:]]{2}-[[:digit:]]{2}'2014-05-20grep以echostdin 输入,或者cat如果文件中包含这些字符串,也可以使用command。-E 将PATTERN解释为扩展的正则表达式...
2024-01-10
在shell脚本中嵌入可执行二进制文件
首先,我已经在Google上进行了搜索,但只找到了将压缩文件(例如.tar.gz)嵌入到Shell脚本中的示例。基本上,如果我有一个hello.c打印字符串的C程序(),请说 。我编译它以获得可执行的二进制文件gcc hello.c -o hello现在我有一个shell脚本 testEmbed.sh我要问的是是否有可能将二进制( )嵌入到shell脚本...
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
获取shell脚本中的函数名称列表
我有一个具有多个功能的Bourne Shell脚本,并允许以以下方式调用:my.sh <func_name> <param1> <param2>在内部,func_name()将用param1和调用param2。我想创建一个help仅列出所有可用函数的函数,即使没有参数也是如此。问题:如何从脚本内部获取脚本中所有函数名称的列表?我想避免不得不解析它并寻找功能模...
2024-01-10
如何在复杂的文本文件中替换shell变量
我有几个文本文件,其中介绍了shell变量(例如$ VAR1或$ VAR2)。我想将这些文件(一个接一个)保存在新文件中,其中所有变量都将被替换。为此,我使用了以下shell脚本(可在StackOverflow上找到):while read linedo eval echo "$line" >> destination.txtdone < "source.txt"这在非常基本的文件上效果很好。但是在...
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缓冲区大小是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内置函数?
假设我想通过标准输入将非常长的字符串传递给命令: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命令
我正在尝试使用Shell脚本来启动命令。我不在乎是否/何时/如何/为什么完成。我希望该过程开始并运行,但是我希望能够立即回到我的外壳…回答:您可以只在后台运行脚本:$ myscript &请注意,这与将&脚本放入内部不同,后者可能无法完成您想要的操作。...
2024-01-10
使用PHP的交互式shell
只是想知道,是否有可能单独使用PHP创建一个交互式shell。我的意思是您在数据库,python等方面拥有类似的东西。如果是,怎么办?回答:是的,有可能。为了进行交互,该程序必须能够等待并从 stdin中 读取用户输入。在PHP中,您可以通过向打开文件描述符来从 stdin中读取'php://stdin'。从一个不同的...
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
如何在Linux Shell中将十六进制转换为ASCII字符?
可以说我有一个字符串5a。这是ASCII字母的十六进制表示Z。我需要知道一个Linux shell命令,该命令将接受一个十六进制字符串并输出该字符串表示的ASCII字符。因此,如果我这样做:echo 5a | command_im_looking_for我会看到一封单独的信Z:Z回答:echo -n 5a | perl -pe 's/([0-9a-f]{2})/chr hex $1/gie'请注意,这不会...
2024-01-10
用于在Linux上获取进程ID的Shell脚本
我想编写一个Shell脚本(.sh文件)以获取给定的进程ID。我要在这里执行的操作是,一旦获得进程ID,就想杀死该进程。我正在Ubuntu(Linux)上运行。我能够用这样的命令来做到这一点ps -aux|grep rubykill -9 <pid>但我不确定如何通过Shell脚本来实现。回答:使用grep上的结果ps是在脚本一个坏主意,因为时...
2024-01-10
linux shell输出到html
有什么办法可以将bash输出转换为html吗?例如,如果我在bash一些彩色输出(类似HTOP),我怎样才能将其转换为HTML标签......(是这样的:<pstyle="color: red">some text</p>)回答:还有ansifilter一些类似的工具,highlight可以从纯文本(例如源文件)生成彩色的html。两者都可以在这里找到。...
2024-01-10
Ansible-将环境中的JSON字符串传递给Shell模块
我正在尝试在环境中传递JSON字符串。- name: Start {{service_name}} shell: "<<starting springboot jar>> --server.port={{service_port}}\"" environment: - SPRING_APPLICATION_JSON: '{"test-host.1":"{{test_host_1}}","test-host.2":"{{test_host_2}}"}'test_host_1是172.31.00.00...
2024-01-10
Linux shell根据第二列排序文件?
我有一个像这样的文件:FirstName, FamilyName, Address, PhoneNumber如何按FamilyName排序?回答:如果是UNIX:sort -k 2 file.txt您可以使用多个-k标志对多个列进行排序。例如,要按姓氏排序,然后按姓氏排序:sort -k 2,2 -k 1,1 file.txt“人排序”中的相关选项:-k,–key = POS1 [,POS2]在POS1处开始一个密钥,在POS2...
2024-01-10
如何从Linux Shell运行与当前工作目录不同的程序?
使用 ,如何从与当前工作目录不同的工作目录启动程序?例如,我有一个二进制文件helloworld,可hello-world.txt在 中创建该文件。 该文件在目录内/a。目前,我在目录中/b。我想开始运行程序,../a/helloworld并hello-world.txt在第三个目录中找到某个位置/c。回答:像这样调用程序:(cd /c; /a/helloworld)括号...
2024-01-10
如何在Linux Shell中使用正则表达式从文件中提取IP地址?
如何在LinuxShell中通过regexp提取文本部分?可以说,我有一个文件,其中每一行都是一个IP地址,但是位置不同。使用常见的unix命令行工具提取这些IP地址的最简单方法是什么?回答:您可以使用grep将其拉出。grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' file.txt...
2024-01-10
在Linux中更改默认Shell
如何更改默认外壳?该env命令当前显示:SHELL=/bin/tcsh我想将其更改为Bash。回答:尝试linux命令chsh。详细命令为chsh -s /bin/bash。它将提示您输入密码。您的默认登录Shell /bin/bash现在是。手册页中引用了以下内容:chsh命令更改用户登录外壳。这确定了用户初始登录命令的名称。普通用户只能为自己...
2024-01-10
如何在Linux Shell中对变量进行除法?
当我在外壳中按以下方式运行命令时,它将返回expr: non-integer argument错误。有人可以向我解释一下吗?$ x=20$ y=5$ expr x / y expr: non-integer argument回答:这些变量是外壳变量。要将它们作为参数扩展到另一个程序( 即 expr),您需要使用$前缀:expr $x / $y它抱怨的原因是因为它认为您试图对字母字符进...
2024-01-10
linux shell复制粘贴将〜0和1〜符号添加到字符串
我正在运行Ubuntu 16.04。最近,我在通过剪贴板复制粘贴时遇到以下奇怪的行为,例如,假设我想克隆一些存储库。所以,我复制下面的字符串:linux shell复制粘贴将〜0和1〜符号添加到字符串“https://github.com/tensorflow/tensorflow”,然后使用Ctrl + Shift + V粘贴到我的壳git clone之后。我希望:$ git clone https://g...
2024-01-10
