Questions tagged «shell-script»

Shell脚本是为操作系统的Shell(或命令行解释器)编写的脚本。

1
如何使用gsub替换完全匹配的单词
请参阅下面的脚本 - 在此 nawk 'NR==FNR { a[$1]=$2 ; next} {for ( i in a) gsub(i,a[i])}1' file.dat 1.txt 1.TXT ioiufeioru dfoiduf MO_CIF_INP438 fjkdj MO_CIF_INP dsjhdf BP_LINKED_TETES dehdueuh MO_INP_BPRESP FILE.DAT MO_CIF_INP TRO_MO_CIF_INP BP_LINKED_TETES TRO_BP_LINKED_TETES MO_BPID TRO_MO_BPID MO_INP_BPRESP TRO_MO_INP_BPRESP 以及上面脚本的输出是 ioiufeioru dfoiduf TRO_MO_CIF_INP438 fjkdj TRO_MO_CIF_INP dsjhdf TRO_BP_LINKED_TETES dehdueuh TRO_MO_INP_BPRESP 我的意图是只更换匹配的单词,并不是在上面的情况下 MO_CIF_INP438也会被替换。我们如何使用单词搜索?我试过以下情况,但没有工作 1。 nawk …


1
cron运行的脚本中意外标记“>”附近的语法错误
我正在为Mac OS / Linux编写一个shell脚本。该脚本由cron作业运行。我正在尝试将stdout和stderr附加到日志文件中。我的命令(简化)看起来像这样(第5行myscript.sh): mycommand &>> log.txt 我收到以下错误: myscript.sh: line 5: syntax error near unexpected token `> 但是,如果我将命令更改为: mycommand &> log.txt 我没有收到任何错误,但文件被覆盖(未附加)。 任何想法为什么&>>不起作用但&>有效?

1
如何在脚本上提示(gui)并使用root密码?
我想运行一个我的脚本,需要一些gui方式的root权限。 例如,一个简单的脚本可能是: #!/bin/sh clementine sudo shutdown -h 00:00 第一行打开克莱门汀音乐播放器(我不希望root权限打开它),第二行将在特定时间停止计算机。 我想使用脚本运行,Alt+F2并在需要时向我询问root密码。 这个怎么做?

1
磁盘上的文件大小与ls输出不一致
我有一个脚本,用于检查大于1MB的压缩文件大小,并将文件及其大小作为报告输出。 这是代码: myReport=`ls -ltrh "$somePath" | egrep '\.gz$' | awk '{print $9,"=>",$5}'` # Count files that exceed 1MB oversizeFiles=`find "$somePath" -maxdepth 1 -size +1M -iname "*.gz" -print0 | xargs -0 ls -lh | wc -l` if [ $oversizeFiles -eq 0 ];then status="PASS" else status="CHECK FAILED. FOUND FILES GREATER THAN 1MB" …

2
编写在Mac和Windows之间不同的脚本
我想编写一个脚本,该脚本在mac和Windows用户之间有所不同,如下所示: if (Mac) do this if (Windows) do that 这将是一个脚本,它将启动Cmake并为相应的IDE构建项目。总而言之: mkdir build cd build if (Mac) cmake .. -G "Xcode" if (Windows) cmake .. -G "Microsoft Visual Studio 2013" 这两台计算机之间有什么区别? 我知道对于Windows,您通常具有这些.bat文件,但是Mac无法处理它们,可以吗?那我需要在这里使用哪种文件类型?

0
sed命令删除xml文件中的父结束标记
Iam使用下面的给定命令,使用sed命令在xml文件中用另一个字符串替换字符串。 sed "s/one/two/g" /data/common/codeset-mapper.xml > /data/codeset-mapper.xml 但是关闭的父标记将被删除。有没有解决的办法?

1
在非常大的文件之前添加字符以发送到Shell脚本
我试图在31,65 Go json文件上运行shell脚本。 ./oetl.sh database.json 我需要在文件前后加上括号。 我在database.json中拥有什么: {..},{..},.. 我想要的是 : [{..},{..}..] 有什么方法可以执行此操作而无需编辑文件?如果没有,如何快速编辑文件? 我知道我可以快速回应右括号: echo "]" >> database.json 如何添加左括号? 我不知道是否需要这样做,而且我是Shell脚本的新手,但这是oetl.sh文件: #!/bin/sh # # Copyright (c) 2014 Luca Garulli # #set current working directory cd `dirname $0` # resolve links - $0 may be a softlink PRG="$0" while [ -h "$PRG" ]; …

2
在目录中保留固定数量的文件
我们有一个Linux目录,每天在其中添加文件和目录。 我们喜欢通过在任何给定时间将列表固定为50个最新的文件和目录来控制目录中的文件和子目录列表。 我们如何编写脚本来实现这一目标?

1
通过终端删除带有特殊字符的文件,该文件已由另一个命令选择
这是我的第一篇文章,所以请轻轻走:) 我正在创建一个AppleScript,它运行bash命令以选择和删除指定文件夹组中最近修改的文件。每次文件名都不同。 当您知道实际的文件名时,我已经看到了如何删除带有特殊字符的文件,但是在我的情况下,文件名是由ls发现的。令人遗憾的是,当我使用rm删除文件时,由于名称中带有问号和空格,所有文件都弄乱了,无法识别文件。有没有一种方法可以在变量的外部添加引号,以便可以正确寻址?或者,还有更好的方法。我什至不知道如何重命名该文件。另外,我只想更改/删除一个文件,而不能重命名该文件夹中的所有文件。 这是文件名之一的示例。+61 434 570 460?于2016-12-22在15.01.27.ichat 这是我正在尝试工作的代码;rm -fr $(ls -t | head -n1) 感谢您的意见:)

1
我执行shell脚本时如何检索以下错误
我有一个脚本登录到远程服务器。但我试图执行脚本发生一些错误。 日志: 我的剧本: #!/bin/bash S1=$(ssh -t selvam-odc-shell1 "users | wc -w ") S2=$(ssh -t selvam-odc-shell2 "users | wc -w ") S3=$(ssh -t selvam-odc-shell3 "users | wc -w ") if [ "$S1" -le 100 ]; then ssh -t selvam-odc-shell1 " bash" if [ "$S2" -le 100 ]; then ssh -t selvam-odc-shell2 …

1
如果/ Else语句Linux,Vi,简单脚本
首先,我试图找到我的问题的答案,新手很难用一种能够产生与当前情况相关的答案的在线结果来表达他的问题。 话虽如此。 我正在尝试编写一个简单的程序,提示您要重复哪些文本(以及您想要重复多少次。我让它工作但是其中一个变量(重复多少次)如果一个输入文本而不是数字,它将失败。那么如何添加一个不会破坏脚本的If / Else语句? #!/bin/bash echo "Please input text you wish to print." read text echo "Please input number of times you wish to print text." read number if for i in `seq $number`; do echo "$text" else echo "Try again with valid input."; done 但是这个脚本完美地工作。 #!/bin/bash echo "Please …
-1 linux  shell-script  vi 

2
在UNIX Shell脚本中一行执行多个命令
这个问题与这里提出的问题有些相关,https://stackoverflow.com/questions/5130847/shell-multiple-commands-in-one-line,但是区别是,无论是否需要执行全部命令命令成功与否。所以我想,&&这不是一种选择吗?我可以使用;分开的命令和eval或bash; 就像是 eval cd /home/user/homedir ; /home/user/homedir/sbin/daemon.sh --config /home/user/homedir/etc/dd2 --script /home/user/homedir/sbin/dd3 start action1 或类似的东西? 请指教,
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.