linux shell 脚本

linux shell 脚本,第1张

#!/bin/bash

for user in `cat /etc/passwd | grep home | awk -F: '{ print $1 }' `

do

homesize=`du -sh /home/$user`

subsize=`du -sh /home/$user/`

done

echo "the size of the $user home directoy is $homesize"

echo "subsize is $subsize"

#!/bin/bash

while true;do

if [ "$#" -ne 1 ];

then

echo "Incorrect number of arguments"

exit 1

else

who| grep "^$1" >/dev/null 2>&1

if [ $ -eq 0 ]

then

echo "the user $1 has logged on。"

exit 0

fi

fi

sleep 60

done

简单说:

ls > readmetxt

将ls的输出保存到readmetxt中了,

这个“>"是个管道符号,意思是将前面的输出写道后面的文件里去

ls >> readmetxt

这个“>>"是个也是个管道符号,意思是将前面的输出"追加到“后面的文件末尾

例外情况:

很多程序有两种输出。标准输出和错误输出,

如果你使用了上面的方法也不行的话,可以这样:

ls >> readmetxt 2>1

后面多了个"2>1"意思是说,讲错武的输出也输入到正确的输出频道(其实是管道,但是频道好理解)里去。

ls是要运行的程序名称,可以改成你需要的程序,例如

ps-ef >> readmetxt 2>1

在当前目录下VI个文件,复制一下内容:

#!/bin/bash

TIME_NUM=`date +%H`

if [ "$TIME_NUM" -le "8" ]

then

echo "早上好!$LOGNAME,今天是`date +%D`"

exit 0

fi

if [ "$TIME_NUM" -le "12" ]

then

echo "中午好!$LOGNAME,今天是`date +%D`"

exit 0

fi

if [ "$TIME_NUM" -le "18" ]

then

echo "下午好!$LOGNAME,今天是`date +%D`"

exit 0

fi

echo "晚上好!$LOGNAME,今天是`date +%D`"

在当前用户目录下的profile 添加一下内容

bash 上面的脚本绝对路径

有问题可以再问我

#!/bin/bash

{

    for i in `seq 1 10`

    do

        ping -c 1 abc90-$i

        if [ "$" -eq "0" ]; then

            ssh abc90-$i hostname

            ssh abc90-$i date

        fi

    done

} &> alog

exit

假定10台机子已经配置好ssh无密码访问

欢迎分享,转载请注明来源:表白网

原文地址:https://h5.hunlipic.com/biaobai/3977759.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2024-04-07
下一篇2024-04-07

发表评论

登录后才能评论

评论列表(0条)

    保存