基于linux下的xshell脚本文件入门及例题

来源:互联网 发布:ios10优化设置 编辑:程序博客网 时间:2024/06/13 12:38

当需要进行一些重复而量大的操作时,脚本文件能使我们更轻松

首先来认识下几个基础的命令

echo 内容 将内容输出到屏幕

程序1 | 程序2 将程序的输出结果作为程序2的输入

greap name     抓取含name的文件

$变量 取变量的值

$@                 输出参数

$# 输出参数数量

$n 输出第n个参数

$? 输出是上一个程序返回的值

exit n 返回n

$0 输出当前程序名

-eq 等于为真

-ne 不等于为真

-gt 大于为真

-lt 小于为真

-e 程序存在为真

`命令` ``里的内容视为一个命令

who 查看系统下的用户

top                  查看进程

{printf $1}       输出第一列

echo “ff" > 文件  将输出的内容输入到指定文件,内容不显示到屏幕

echo "hvkjvk" >/dev/null  将输出内容删除

命令 >file      终端上只能看见标准错误

命令 2>file 终端上只能看见标准正确

命令 >file 2>&1 终端上什么也看不见


for i in `seq 1 10`;do 命令;done 以i为变量循环十次

if [ a = b ];then 命令;fi 当a=b成立,执行一次命令

while [ a = b ] ; do 命令;done 当a=b成立,执行命令


例子:编写一个名为chname的程序,将当前目录下所有的.txt文件更名为.doc文件。

首先我们创建该文件

vi chname

以下是脚本文件

 #!/bin/bash               //头文件
n=$#                        //取参数数量
echo "$n"                //输出参数个数
for i in `seq 1 $n`     //以i为变量循环n次
do
mv ./$i.txt ./$i.doc   //将txt转化成doc
done

接着我们更改chname权限,使其具有运行权限

chmod +x chname 

然后我们将要改变的内容输入到该脚本

./chname `ls`

结束


例子:编写一个名为chuser的程序,执行中每隔5分钟检查指定的用户是否登录系统,用户名从命令行输入;如果指定的用户已经登录,则显示相关信息。 
#!/bin/bash              //头文件
n=$#                     //确认参数数量
if [ $n -ne 1 ]          //数量如果不为1,则提示错误
then
echo "place enter one usr"
exit 1                   //返回1
for i in `seq 1  10000000`
do
who | grep $1           //读取当前用户名 检测是否包含参数
sleep 5m                 //等待5分钟
done