Articles of bash

“未find命令” – 无法运行bash脚本

可能重复: 找不到我的cron任务报告命令 我正在尝试运行一个bash脚本 #!/bin/bash export AWS_CLOUDWATCH_URL=https://monitoring.amazonaws.com # get ec2 instance id instanceid=`wget -q -O – http://169.254.169.254/latest/meta-data/instance-id` memtotal=`free -m | grep 'Mem' | tr -s ' ' | cut -d ' ' -f 2` memfree=`free -m | grep 'buffers/cache' | tr -s ' ' | cut -d ' ' -f 4` let "memused=100-memfree*100/memtotal" mon-put-data –metric-name "FreeMemoryMBytes" […]

lockingSolaris Shell更改为普通用户

我有几十个Solaris(5.10)盒子。 默认情况下,他们使用ksh作为shell。 只有less数用户具有sudo权限。 其余的不。 我不希望我的普通用户改变到另一个shell。 这是我所做的: 最小的sudoers所以/ etc / passwd是不可能的。 最小的sudoers所以usermod -s是不可能的。 我还没有禁止访问/ bin或/ usr / bin中的shell,但是它会被完成 – 所以请忽略它尚未完成的事实。 所以,理论上他们可以编写启动脚本来执行它们,对吧? 我错过了什么吗?

新服务器中的目录复制

scheme是将Linux开发服务器中存在的所有目录,子目录,文件,符号链接复制到Linux QA服务器。 许多unix用户也被创build。 考虑一个unix用户 – edwprod ,这个文件夹/home/edwprod/里面有很多子目录和软链接。 -rwxrwxrwx 1 edwprod edwprod 0 Jan 25 13:23 ksh lrwxrwxrwx 1 edwprod edwprod 32 Jan 30 06:30 output -> /apps/application_scripts/output lrwxrwxrwx 1 edwprod edwprod 30 Jan 30 07:02 wp37 -> /apps/application_scripts/wp37 lrwxrwxrwx 1 edwprod edwprod 32 Jan 31 05:57 in_dir -> /apps/application_scripts/in_dir lrwxrwxrwx 1 edwprod edwprod 30 Jan […]

llinux – 用sed或awkreplaceifcfg-eth0中的子网掩码

我有30个Linux服务器,我需要更改子网掩码。 我想使用一个简单的脚本或一个简单的命令来改变ifcfg-eth0中的255.255.255.128到255.255.255.0的subnemt掩码。 有人可以帮忙吗? 谢谢,Elad。

rc.local不在启动Ubuntu上执行

我在Ubuntu 10.04。 我想在系统启动时执行脚本。 我把它添加到rc.local。 如果我手动执行rc.local,它工作正常。 如果我在恢复模式下启动系统(启动菜单中的第二个string),它也可以正常工作。 但是,如果我正常启动它不会被执行。 然而,我join睡眠20到我的脚本,并在启动过程结束暂停,但没有更多的执行。 谢谢 我认为,它依赖于脚本的内容,但无论如何 #!/bin/sh -e sleep 20 sudo service ssh start su -c 'service pgsql start' postgres sudo svnserve -d su -c 'hamachi start' root su -c 'hamachi login' root exit 0

切割文件的相关部分

我想从一个特定的模式开始,并以特定的模式结束的二进制文件的一些部分。如何在Linux中使用bash来做到这一点。可以使用sed或awk来完成? 我有一个像下面给出的文件。 bd = 0x422e90e0ff4abc00 pad = 0x82 offset = 0x05 dst = 00:0d:bc:03:6d:80 src = 00:50:a2:df:e8:1c etype = 0x0800 ip:version = 4 headerwords = 5 tos = 32 length = 142 ip:id = 201 flags = 0x2 fragmentoffset = 0 ip:ttl = 117 protocol = 6 checksum = 0x0000 ip:sourceaddress = 36.190.253.236 ip:destinaddress = […]

cpanel cronjobcurl增加文件大小

我创build了一个bash脚本,用cpanel作为cronjob运行: ————–内容cron.sh ——————— #!/bin/bash curl http://website.com/1.gif >> /home/myuser/public_html/directory/1.gif ————内容的结尾————————- 我会希望curl覆盖任何现有的文件,但是发生的是,每次执行cron作业时,目标文件的大小都会增加一倍! 例如:1克朗之后:1.gif大小50kb 2 cron后:1.gif大小100kb 等等… 我只想覆盖目标文件。

删除RedHat集群上所有节点上的所有文件?

我正在开发一个在群集上运行的程序,并写了很多短的位。 首先,它输出到节点的暂存目录; 当它完成时,它将文件rsyncs硬盘驱动器,然后从头开始删除它们。 没有这一步,程序经常卡住。 我正在使用Rocks的RedHat群集。 该程序并不完美,在开发过程中,许多用户可能会将不需要的文件从零开始孤立(它们已经被rsync'd)。 对于我自己的文件,我使用这个脚本来摆脱孤立的文件: for i in {1..24} do ssh compute-0-$i "rm -rf /scratch/*` done 但是,我有以下问题: 这是否违反任何“最佳实践”规则? 每当有人运行时,删除所有用户的文件,我必须chmod -R a+rw /scratch ?

linux + bash +将参数导出到数据文件的新文件中

我有Linux机器红帽5.1,我问以下问题 我的目标是根据data_file.txt从answer_file.txt创build新的output_file.txt文件 正如我们在这里看到的,我首先运行data_file.txt并从文件中导出所有参数,然后尝试将所有answer_file.txt打印到新文件output_file.txt 所以我会从data_file.txt得到这个新的参数文件,但我不成功 – 🙁 请指教如何将data_file.txt中的参数导出到answer_file.txt中,然后用正确的值创build新文件? 备注 – 我使用bash,而且我不想使用sed或awk来执行此任务,而且我不想更改原始data_file.txt或answer_file.txt的内容(我需要从bash shell执行Job的简单方法) [root@test1a /var/tmp]# more data_file.txt arg1=a arg2=b arg3=c [root@test1a /var/tmp]# more answer_file.txt param1=$arg1 param2=$arg2 param3=$arg3 [root@test1a /var/tmp]# . ./data_file.txt [root@test1a /var/tmp]# export arg1 arg2 arg3 [root@test1a /var/tmp]# cat ` . ./answer_file.txt ` >/var/tmp/output_file.txt -bash: ./answer_file.txt: line 4: unexpected EOF while looking for matching `'' -bash: […]

传递命令与标准输出到一个bash函数

好的,这是交易。 我有一个bash脚本,如下所示。 剧本只是向你展示我的意思..它可能看起来束缚,但正是我所需要的: #/bin/bash runcommand () { message="$1" shift echo "$message" $@ > /tmp/logfile if [ $? -gt 0 ]; then cat /tmp/logfile fi } runcommandwrapper () { wrapperoptions="$1" shift $* } rm -f /tmp/test ; rm -f /tmp/logfile runcommand "echo into file" echo "SUCCESS" > /tmp/test echo "—————–" echo "test file:" echo "—————–" cat […]