如何创建一个打开文件的shell脚本,并在文件末尾添加行然后保存?

时间:2013-06-27 04:25:54

标签: shell

我想创建一个打开文件的shell脚本,并在文件末尾添加行,然后保存它。

更具体地说,我想将以下命令作为shell脚本:

$ ulimit -n
1024 

如果它小于65536那么,

$ vim /etc/security/limits.conf

在文件末尾添加:

root soft nofile 65536
root hard nofile 65536
soft nofile 65536
soft nofile 65536

!wc in vim。然后重启。

如何制作这个shell脚本?

3 个答案:

答案 0 :(得分:3)

要回答标题中的问题,

$ echo "root soft nofile 65536" >> /etc/security/limits.conf

会在文件末尾添加行root soft nofile 65536

要重新启动,在许多Linux系统中,您只需执行以下操作:

$ reboot

要测试一个值,你可以做类似的事情:

if [ "`ulimit -n`" -lt "65536" ]; then
    # do stuff
fi

最后,您的脚本将如下所示:

#!/bin/sh
if [ "`ulimit -n`" -lt "65536" ]; then
    file='/etc/security/limits.conf'

    {
        echo "root soft nofile 65536"
        echo "root hard nofile 65536"
        echo "soft nofile 65536"
        echo "soft nofile 65536"
    } >> $file

    reboot
fi

答案 1 :(得分:2)

if [ `ulimit -n` -lt 65536 ]; then
    {
    echo "root soft nofile 65536"
    echo "root hard nofile 65536"
    echo "soft nofile 65536"
    echo "soft nofile 65536"
    } >> /etc/security/limits.conf
    reboot
fi

答案 2 :(得分:0)

首先检查限制设置,如果小于65536,则将行附加到文件末尾并重新启动

if [ `ulimit -n` -lt 65536 ];then
cat >> /etc/security/limits.conf << EOF
root soft nofile 65536
root hard nofile 65536
soft nofile 65536
soft nofile 65536
EOF
reboot
fi