用于复制文件和创建目录的Unix Shell脚本

我有一个源目录,例如/my/source/directory/,还有一个目标目录,例如/my/dest/directory/,我想通过一些限制来镜像它 我想将符合find命令某些条件的文件(例如-ctime-2(不到2天)复制到dest目录以对其进行镜像 我想包括一些前缀,以便知道它来自哪里,例如/source/directory 我想用绝对路径来完成所有这些,所以它不依赖于我从哪个目录运行 我想没有cd命令也是一种很好的做法 如果子目录不存在,我希望创建它们 所以 我已经拼凑了下面的命令行

Shell 如何使用bash脚本匹配路径中的string/dir

我正在尝试创建一个Makefile,它使用路径中的信息创建一个相关的rpm名称。假设我有两条不同的可能路径: PATH1 = /usr/local/home/jsmith/code/main PATH2 = /usr/local/home/jsmith/code/dev/ver2 如果在路径中检测到“main”,我想检测并将“main”附加到rpm名称中。如果在路径中检测到“dev”,我想检测并将“ver2”附加到rpm名称中 我对shell脚本还不熟悉,对于从哪里开始我真的没有一个好主意。我

蓝色输入屏幕(Shell脚本)

在Ubuntu服务器10.04中 有时,当我通过apt get安装某些软件包时,它会提示我一个蓝色对话框,并要求输入/选择。。例如:安装mysql服务器时,它会提示我输入根密码。。 如何在我自己的shell脚本中实现这一点,以便在我需要询问是/否和密码问题时显示相同的蓝色对话框?您正在寻找。您正在寻找。尝试ncurses库 下面是一些使用bash中的ncurses内容的示例(包括对话框,这可能是您的示例中使用的内容): 尝试ncurses库 下面是一些使用bash中的ncurses内容的示例

Shell Solaris上“sed-i”的替代方案

在Linux上,sed-i将在适当的位置修改输入文件。不过,它在Solaris上不起作用 sed -i '$ s/OLD/NEW/g' test sed: illegal option -- i 在Solaris上,我可以使用什么来代替sed-I?您需要自己复制-I的行为,方法是将结果存储在临时文件中,然后用临时文件替换原始文件。这可能看起来不雅观,但这就是sed-i在幕后所做的一切 sed '$ s/OLD/NEW/g' test > test.tmp &&am

Shell cp命令应该忽略一些文件

有时我需要执行以下命令 cp -rv demo demo_bkp 但是我想忽略directory.git中的所有文件。我如何做到这一点?复制.git文件需要很长时间,我不需要这些文件。好的。振作起来。这不漂亮 find demo -depth -name .git -prune -o -print0 | cpio -0pdv --quiet demo_bkp 这是怎么回事 find demo | cpio-p demo_bkp查找与所需条件匹配的文件,并使用cpio复制它们(所谓的“传递”模

Shell 我需要阅读什么才能理解$PATH

我是编程/开发新手,在安装开发工具时遇到了麻烦。安装东西时,我最大的问题之一是理解外壳或终端(它们是一样的吗?),以及它与安装工具(例如uncrustify)的关系。我需要阅读什么才能理解shell/terminal和$PATH?你用谷歌搜索过吗 你试过谷歌搜索吗 (我认为到目前为止,您在这条道路上得到了很好的建议) shell最通用的描述是,它是一个促进与程序交互的程序。程序有助于与操作系统进行“通信”,以通过硬件执行工作 有两种模式通常与shell进行交互 一种命令行处理器,您可

Shell 如何获得对'的支持✖';Emacs外壳缓冲区中的类似内容?

我正在运行一个进程,在出现错误时,输出角色的✖'(如Unicode中所定义)。但是,如果在Emacs shell缓冲区(GNU Emacs的Aquamacs发行版)中运行该进程,我根本看不到错误 使用:braeburn.aquamacs.org-aquamacs发行版2.2上2011-03-18的GNU Emacs 23.3.1(i386-apple-darwin9.8.0,NS apple-appkit-949.54) 如何使Emacs外壳缓冲区支持此类unicode字符?请查看此wiki页面

Shell 在zsh命令行中避免递归

好的,几个小时前我切换到了zsh,我在一个巨大的配置中胡闹,但这对我来说可能太大了: 我想做一个分隔符autopairnig,例如type(并插入()。第一次失败: bindkey-s”(“”()“ 第二次失败: function autopair () { zle -U "()" zle backward-char } zle -N autopair autopair bindkey "(" autopair 我认为这两种方法都失败了,因为zsh试图在“(-U似乎明确地说了这一点)上递归。有

如何在shell脚本中将带有空格的参数传递给外部程序?

a、 嘘 #/bin/bash description=`“test message”`#包含空格的输入参数 binary=#只需显示传递给flag的内容——description cmd=“$binary--description=$description” $cmd#运行外部程序 问题:消息会丢失,如何解决?谢谢 #!/bin/bash description=`"test message"` # input parameter for contain a space binary=&l

Shell脚本使用临时文件。还有别的办法吗?

我试图用“Unix编程环境”这本书自学shell编程。我试图编写一个脚本来删除系统中的所有信号量。但是,我找不到一种不使用临时文件的方法。下面的代码可以工作,但是使用了一个临时文件。我相信有一个更简单的解决办法。请帮忙 # remsem: Remove all the semaphores IFS=' ' set X`ipcs` j=0 for i do case $i in *semid*) j=1;; *'Message Qu

Shell bash中的日期计算

我有一个用这种格式写满日期的文件(2002-09-2602:20:30), 我想从文件末尾提取最后5天,以下是我写的 END-DATE=tail -1 my file (which is 2002-09-26 02:20:30) time=$(expr 60 * 60 * 24 * 5) ( counting 5days which is 432000) up to know every thing is ok ! the problem is with next line, STA

同时显示输出和存储的Shell脚本?

当我去打字的时候 ./script.txt 它在终端中显示输出,但如果我想在屏幕上显示并同时存储它,我该怎么做?因为如果我这样做了 ./script.txt >> example.txt 它只会存储它。试试看 ./script.txt 2>&1 | tee -a example.txt 2>&1将stderr重定向到stdout流中。现在,两个流都通过管道到达tee,tee复制一个文件进行输出,并将所有输入的副本发送到其标准输出 我希望这有帮助 另外,您并不是真的

Shell 包含K、M、G、T的文件大小总和

如果(在zsh中)我有一个包含如下内容的数组: echo ${fsizes[@]} 9.5M 100M 5G 15G 1.2T 是否有一种简单的方法可以在选择的输出(即字节、兆字节、千兆字节等)中获得这些数据的总和 以字节为单位输出的示例 输出单位为KB的示例 输出以兆字节为单位的示例 输出以GB为单位的示例 输出以TB为单位的示例 我想,计算总和最简单的方法是使用一个单位的大小。例如Byte。我可能需要一些时间才能弄明白这一点,但我知道这是一个+1材质!:) #!/bin/zsh fsiz

Shell 贴片输出

文件1: 文件2 “差异”将产生: 2;3 3;3 4;4 是否也可以显示删除的行(1;1)?是否可以将前缀添加到修补程序文件中显示的任何行 2;3 3;3 4;4 标准工具的使用情况如何 提前非常感谢我认为统一的diff格式diff-u,将为您提供所需的信息 (DEL-1;1) UPD-2;3 UNC-3;3 INS-4;4 diff-u输出可能更符合您的喜好,尽管编辑仍将显示为删除和添加。或上下文差异:diff-c。但是统一的diff输出比上下文diff更紧凑,所以diff-u是更好的

Shell 从命令行检查GMAIL的电子邮件并将其保存为PDF格式?

我想建立一个脚本,基本上可以登录到GMail,根据给定的标准检查某些邮件,将对话保存为PDF(或其他形式)在我的本地机器上,然后注销。以前有人做过类似的事情吗?访问gmail服务取决于您选择的协议,即pop或imap。 在此处查找打开会话和访问邮箱的脚本: 还请注意,您的gmail帐户将其邮件发布为RSS提要。查看最后一封未读的电子邮件(尽管这不是您想要做的) curl-u登录:密码——静默”https://mail.google.com/mail/feed/atom“| perl-ne'pr

Shell 用于调用JBoss 5x JMX';s姆本斯

我想用linux shell脚本调用JBoss 5x JMX的MBean。有没有办法用Linux shell脚本调用JBoss 5x JMX的MBean?只需编写一个Java程序,从shell脚本调用,与MBean对话。JBoss附带twiddle脚本,您可以从JMX控制台获取MBean列表,并通过twiddle查询/调用它,例如 $JBOSS_HOME/twiddle.sh -s 127.0.0.1 invoke "jboss.system:type=ServerInfo" listMemor

Linux Shell中的嵌套哈希映射?

我可以在Linux Shell中嵌套关联映射吗 是的 看一看manbash (搜索关联) 但如果要将数组分配给数组,则必须使用自己的处理程序为自身声明子对象,然后可以将此处理程序作为字符串分配给上层数组: declare -A x declare -A x_foo x_foo=([a]=1 [b]=3) x['foo']=x_foo; 所以 不,bash数组只是一维的。您应该能够构造数组键来伪造多维性。例如,如果您想要JSON对象 x = {'foo': {'a': 1, 'b': 2}, '

ImageMagik不在shell中转换

我试图在图片上应用效果,但是我的shell命令返回了一个错误,但我没有看到它。有人知道怎么了吗 我的命令: convert ( /var/www/folder/img.jpg -modulate 120,50,100 ) ( -size 980x650 -fill rgba(255,153,0,0.5) -draw "rectangle 0,0 980,650" ) -compose multiply /var/www/folder/f3-img.jpg ; 错误 :syntax error

Shell脚本读取另一个脚本的输出

我需要编写一个shell脚本,从另一个shell脚本(results.sh)读取输出并将结果写入一个平面文件 基本上,我们没有更改results.sh的控制权和权限,但可以访问结果。results.sh>log.txt 映射文件b将NewScript的输出写入文件flat.txt只是为了澄清一下,您是否在谈论输出重定向(results.sh>outfile)无法处理的事情?

0传递引号“;执行shell脚本”;在AppleScript…中;阿加尼亚因

我知道这已经被反复询问过了,例如 但无论是使用\“还是引用似乎都不适合我。例如,使用 set msgDate to "05-06-2013" set quotedmsgDate to "\"" & msgDate & "\"" as string do shell script "echo " & quoted form of quotedmsgDate 返回 "\"05-06-2013\"" 我不明白为什么,如果你能启发我,那就太好了!我正在使用10.8.5和德语本

卡皮斯特拉诺3号。在服务器上设置bashshell而不是csh

当cap3尝试在我的FreeBSD服务器上执行命令时-我有一个错误,我的cap3任务不工作 DEBUG [0bb99d53] Command: if test ! -d /home/web_server/data/www/capistrano/site/shared/dumps; then echo "Directory does not exist '/home/web_server/data/www/capistrano/site/shared/dumps'" 1>&2; fa

Shell 为什么可以';指定要在zsh中源文件的本地路径吗?

我是zsh的新手,我只是想在经过一些修改后重新加载.zshrc。当我键入时,我在我的主目录中。zshrc我得到以下输出:没有这样的文件或目录:.zshrc。似乎~/。zshrc有效。有没有一种方法可以提供这种命令的本地路径 当前目录不在您的路径中,请提供.zshrc的相对或绝对路径,或在路径的末尾添加或$HOME。注意在路径中设置不是推荐的做法。当前目录不在路径中,请提供.zshrc的相对或绝对路径,或在路径的末尾添加或$HOME。注意在路径中设置不是推荐的做法。当前目录不在路径中,请提供.zs

Shell 变量和名称解析中的多值

我正在编写代码来制作一些wget,并在一些路由器中获取备份文件 我的第一个问题是变量RT。如果我在此变量上仅声明IP(并在wget行中添加/config.dat或任何其他内容),此脚本将正常工作,否则它将显示“未找到目录” 我如何声明它在下面的脚本中的状态 我的第二个问题:我想说的是,输出文件-O是扩展名为.dat的IP,对于第一个IP和第三个IP,它的扩展名不只是IP 有可能像我说的那样做吗 #!/bin/sh RT="10.0.0.59/config.dat 10.0.0.60/cgi-bi

如何使用dbisql从shell脚本加载到数据库中?

我想写一个shell脚本,这样我就可以安排它了 dbisql -nogui -host host1 -port 2740 -c "uid=user;pwd=password" LOAD TABLE dbname.tablename(col1,...,coln) USING CLIENT FILE .... 主要问题是,在执行第一个命令后,终端会变成: (dbname)> 如果我现在手动运行第二个命令,它可以正常工作。但是shell脚本停止了。在这种情况下如何进行 注:我熟悉expect

crontab不使用shell脚本

我有一个shell脚本,我想每小时运行一次 我的crontab如下所示 SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ 02 * * * * root run-parts /Weather/run.sh 但它并不是每小时都在运行。 2天前,我在/etc/cron.d/0hourly文件中编写了相同的代码,当时它工作正常,但现在突然停止工作,然后我尝试在crontab中编写它,但它没有运行。 我检查了c

Shell脚本-搜索一行、显示行和3个尾随行

我正在编写一个脚本,它将搜索一个查询,当找到它时,它将显示该行加上3个尾随行。我没有问题找到那一行并显示它,但是后面的行会引起问题 在研究它之后-我没有需要在下面的行中使用-A-B的grep版本 _findError() { SEARCH=$1 echo $SEARCH if [ `grep -c "$SEARCH" "$FILE" 2>/dev/null` -gt 0 ]; then while read LINE do if [ `echo

shell:远程回显主机名并在本地写入

第1部分)我尝试在远程主机上执行一个回显主机名(使用ssh)。 只需使用hostname命令即可。但是我必须回显主机名,因为我必须复制它 第2部分)将复制的主机名粘贴到本地文件夹中。有人能帮我吗?我试过: ssh -tt -i key.pem centos@ec2xxx .amazonaws.com sudo sh -c \ "echo `hostname`" >> /myfile 但这只是给了我一条空线。 我必须在it中使用echo(分配)这应该可以: ssh -tt -i ke

Shell 如何解析多值逗号分隔文件

我有一个逗号分隔的文件,它有6个字段,而我们收到的是逗号作为字段的值,它用“”括起来。我必须用hiphen替换逗号。 输入为 03/03/2016,Customer Service,CHAT,"Responded, closed",True,59 02/24/2016,Customer Service,CALL,Responded,True,55 03/03/2016,Customer Service,CHAT,"Responded, awaiting reply",False,46 02/24

Impala Shell查询-q,字符串中带双引号

我正在生成一个文本文件,plink正在使用它来使用impala shell并使用-q运行insert语句。目前正在使用来自维基百科的虚拟数据,以确保它没有错误,然后我愤怒地使用它 这在几乎所有情况下都能正常工作,除了以下情况(我更改了一些位,但结果是相同的): 如果我复制外部双引号内的部分(由q运行),将其粘贴到色调并执行,我没有问题 我认为第5列中的双引号告诉shell的-q部分查询文本已经结束 如何告诉shell双引号没有结束它?测试它的一种方法是运行一个直接的select语句,而不是ins

Shell 在AIX中打印日期范围

我试图在AIX中打印日期范围。我无法在AIX中正确使用“date”。我尝试了堆栈溢出中建议的一些解决方案。什么都没用。请在下面查找错误和代码。 我不能下载“GNU” #!/bin/ksh startdate=20141030 enddate=20141120 loop_date=$startdate let j=0 while [ "$loop_date" -ne "$enddate" ]; do loop_date=`date -j -v+${j}d -f "%Y%m

Shell Unix:如何使用indexOf类实用程序获取子字符串

shellscript中有一个变量,其值为: PagingControl.labelLoadMore==>Value:Show More… 差不多 str=“PagingControl.labelLoadMore==>值:显示更多…” 我想从开始索引到找到“==>Value:”的位置获取子字符串 在Java和Javascript中,我们有如下函数: str.substring(0,str.indexOf(“==>Value:”) 我们如何在shellscript中进行类似的操作? 我有一些使用c

Shell脚本:检查一个目录中的任何文件是否比另一个目录中的任何文件更新

如果一个目录中的文件比另一个目录中的文件更改得更晚,我希望在shell脚本中运行命令 我想要这样的 if [ dir1/* <have been modified more recently than> dir2/* ]; then echo 'We need to do some stuff!' fi if[dir1/*dir2/*];然后 echo“我们需要做些事情!” fi 如中所述,在此处分解为可重用函数: newestFile() { local latest f

Shell AWK来分割文件

我有一个下面的awk命令,它正在查看test.sql文件,该文件有多个CREATETABLE语句,我想基于每个CREATETABLE语句生成多个文件。我可以通过下面的命令来实现 但当前生成的文件名如下所示: F1.sql F2.sql awk '/CREATE TABLE/{x="F"++i".sql";}{print > x;}' test.sql 因此,我不想给出F1.sql或F2.sql,而是想用一些shell变量替换变量F 电流输出为: F1.sql F2.sql 预期产出:

Jupyter shell赋值将变量传递给!塞德

此示例适用于从Jupyter单元格中查找和替换: all_labels = ['cat', 'dog'] !sed -i 's/num_classes: 90/num_classes: {len(all_labels)}/g' {FILE_PATH} 但是,使用相同语法的此示例会产生错误: record_path = '/path/to/data.record' !sed -i 's/PATH_TO_BE_CONFIGURED\/mscoco_train\.record/{record_pa

Shell 如何在docker映像中替换conf文件中的文本

我正在尝试构建一个Docker映像,其中我需要在父目录下获取以逗号分隔的目录列表,并在容器中复制的配置文件中设置该列表,但conf文件中的文本永远不会被替换。下面是docker的图片。或 搜索和替换发生在中,但进入shell时不会显示替换。但是,如果我在容器shell中执行命令/setup.sh,它就会执行该任务 有兴趣知道,怎么做,我做错了什么 setup.sh # get addons path addons_path=`ls -d /mnt/extra-addons/* | paste -

Shell 是否可以使用不同的路径/通配符定义snakemake输入规则

我想知道是否可以定义一个依赖于不同通配符的输入规则 为了详细说明,我使用qsub在不同的fastq文件上运行这个Snakemake管道,qsub将每个作业提交到不同的节点: 原始fastq上的fastqc-对其他作业没有下游依赖性 适配器/质量修剪以生成修剪过的fastq 经过修剪的fastq(步骤2的输出)上的fastqc_,且无下游依赖关系 修剪后的fastq上的star rsem管道(以上步骤2的输出) rsem和tximport(步骤4的输出) 运行多重质量控制 MultiQC--在结果

Shell 为什么在使用zsh小部件执行交互命令时会中断

Zsh版本: zsh 5.4.2(x86_64-ubuntu-linux-gnu) 代码(两个文件:.zshrc和interactive,都位于我的主目录中): .zshrc: source ./interactive custom_execute(){ echo exc0 $BUFFER BUFFER="" zle accept-line } zle -N custom_execute bind_enter(){ bindkey '^M' custom_execute }

shell脚本中的算术(字符串中的算术)

我试图编写一个简单的脚本,创建五个由循环中的一个变量枚举的文本文件。有人能告诉我如何计算这个算术表达式吗。这似乎不起作用: touch~/test$($i+1)).txt (我知道我可以在单独的语句中计算表达式或循环的更改…) 提前谢谢 正确答案取决于您使用的外壳。它看起来有点像bash,但我不想做太多假设 您列出的命令touch~/test$($i+1)).txt将正确地使用$i+1的任何内容来触摸文件,但它没有做的是更改$i的值 在我看来,你想做的是: 在名为testn.txt的文件中查找

Shell 拆分包含所有单词和特殊字符的行

嗨,我有字符串abc_99\\/de_f/gij我想要一个列表: abc_99 \\/ de_f / gij 我需要如何执行tcl脚本您可以使用正则表达式来匹配单词字符序列或非单词字符序列: set s {abc_99\\/de_f/gij} regexp -all -inline {\w+|\W+} $s 这就给出了:abc_99{\\/}de_f/gij

Shell 如果选择错误,如何恢复?

你好,, 如果找不到源文件,我希望它重新输入一个值 您是否可以建议使用一个函数来代替goto?标准方法是while循环。避免重复输入读取的一种方法: select_again_dir: echo -e "\033[32m enter the name of the source file; \033[0m" echo ls echo read build_source_dir if [ ! -d $build_source_dir ] then echo "Folder Not Fou

如何将变量从AppleScript传递到shell命令?

到目前为止,我已经: do shell script {var} "if [[ ! -e /$var/ ]]; then mkdir -p $var fi" 我收到一个错误“找不到命令” 我知道我需要逃避一些事情,我只是不知道在哪里 Var需要传递给shell命令,如果指定的文件夹不存在,则在该文件夹中创建该目录 您所需要的就是,例如: set var to "/path/to/directory/subdirectory" do shell script "m

需要帮助将Makefile转换为Shell脚本吗

需要您的帮助将Makefile中的代码转换为Shell脚本吗?请帮助我,因为我对MakeFile和Shell脚本都是新手。谢谢 示例代码: include Configfile .PHONY: config-arch asoc-tool clone-repo generate-irx api-login \ upload-file get-app run-scan show-scan-id get-asset-group create-app config-arch: sudo

如何编写shell脚本来运行Makefile?

我想制作一个shell脚本来运行Makefile 如果我点击此命令/run.sh bonus,将应用规则奖金 但是,如果我编写了这个/run.sh,则将应用命令make 我尝试了这个脚本,但是每次命令makeapply时 make fclean if [$1 == "bonus"]; then echo "make bonus" else echo "make" fi make clean ./cub3D maps/1.

Shell 在linux中基于两个键合并两个长度不等的文件

我有两个不同长度的txt文件 File 1: Albania 20200305 0 Albania 20200306 0 Albania 20200307 0 Albania 20200308 0 Albania 20200309 3 Albania 20200310 7 Albania 20200311 4 Albania 20200312 2 我想创建一个文件3,它将添加3。如果文件1的第1列和第2列与文件2的第2列和第3列相同,则文件1的第

Shell 比较Unix中两个文件的差异以生成bool

假设我有两个文件。。 file1和file2都有不同的名称,但其中的内容相同 我试着把它们进行比较 [[ file1 = file2 ]] &使用 diff file1 file2 [[ echo $? ]] 但是,两者都返回false。您正在查找: 如果cmp-s文件1文件2;然后 “他们是一样的。” 其他的 回声“他们是不同的” fi

如何使用';($var)和#x27;作为shell脚本中的参数

我试图将参数传递给cmdline工具,如下所示: ./tool --device '(xyz-123)' 其中,“()”是工具所必需的,xyz-123存储在变量$var中,我从另一个函数获取该变量 如果我硬编码“(xyz-123)”,该工具工作正常,但当我执行/tool--device'($var)时,它会抛出一个错误: File "<string>", line 1 tool'("xyz-123")'

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