2

我想制作一个 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 在 vi​​m 中。然后重新启动。

如何制作这个shell脚本?

4

3 回答 3

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
于 2013-06-27T04:33:18.390 回答
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
于 2013-06-27T04:34:18.103 回答
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
于 2013-06-27T04:41:45.917 回答