×

shell脚本实现功能

shell脚本实现功能(编写一个shell脚本文件,实现以下功能:)

admin admin 发表于2024-04-30 20:56:24 浏览27 评论0

抢沙发发表评论

各位老铁们,大家好,今天由我来为大家分享shell脚本实现功能,以及编写一个shell脚本文件,实现以下功能:的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

本文目录

编写一个shell脚本文件,实现以下功能:

read mtotal=0while ;do n=$m sum=1 while ; do sum=$((sum*n)) echo "sum="$sum echo "n="$n n=$((n-1)) donetotal=$((total+sum))m=$((m-1))echo "total=$total"done我的电脑不知道为什么 写不了for循环 ,所以就用while 代替了你也可以写for 循环 ,比较直观点

linux 编写一个shell脚本文件,实现以下功能

#!/bin/bashwhile truedo    read -p "请输入学生学号:" stu_num            if ;            then                    exit            fi    read -p "请输入学生姓名:" stu_name    read -p "请输入学生成绩:" stu_ach    stu_info=$(echo $stu_num $stu_name $stu_ach)    Stu_Ach=$(echo $stu_info |awk ’{print $3}’)    if ;    then        echo $stu_num $stu_name $stu_ach 》》 pass.dat    else        echo $stu_num $stu_name $stu_ach 》》 nopass.dat    fidone

欢迎指正

写出shell脚本实现以下功能

shell脚本大致如下:使用wc命令判断/etc/fstab目录是否为空为空打印no exist不为空打印document

设计一个shell脚本程序,要求有如下功能: 实现自动备份功能和清理备份等

#!/bin/bashTIME=`date +%Y%m%d|cut -b 3-8`#question 1tar -zcvf /home/bak/VAR_$TIME_BAK.gzip /var#question 2ls -l /var 》》 /home/bak/VAR_$TIME_BAK.log#question 3find /home/bak -name ’*gzip’ -mtime +1 |xargs rm -rf

脚本名字backup.sh,放到/root下,然后用root创建cronjob

0 12 * * * /root/backup.sh

#question 4 (以redhat为例)

echo " /root/backup.sh " 》》 /etc/rc.local

#question 5

把下列代码写入cronjob中

#!/bin/bashTIME=`date +%Y"/"%m"/"%d" "%H":"%m`if thenecho "$TIME running" 》 /home/tmp.logcat /home/shell.log 》》 /home/tmp.logmv /home/tmp.log /home/shell.logelsetouch /home/shell.logfi

脚本名字status.sh,放到/root下 (写的有点小问题,功能执行没问题)

0 * * * * /root/status.sh

编写Shell脚本---接受、判断用户参数

如果想查看当前所在工作路径并列出当前目录下所有的文件及属性信息,实现这个功能的脚本如下:

Shell脚本文件的名称可以任意,但为了避免被误以为是普通文件,建议将 .sh 后缀加上,以表示是一个脚本文件 在上面的 example.sh 脚本中出现了三种不同的元素:

执行脚本有两种方式:

各变量的作用:

用测试语句测试一个文件是否为目录,然后通过 Shell 解释器内设 $? 变量显示上一条命令的返回值

在Shell终端中逻辑“与”的运算符号是 && ,它表示当前面的命令执行成功后才执行后面的命令

等号两边必须要有空格,才能进行逻辑等于

它表示把条件测试中的判断结果取相反值

整数比较运算符仅对数字操作,且不能使用等号、大于号、小于号来判断。因为等号与赋值命令符冲突,大于号和小于号分别与输出重定向和输入重定向命令符冲突。因此一定要使用规范的整数比较运算符进行操作。

示例:使用 free -m 命令查看内存使用量情况(单位MB),然后通过 grep Mem: 命令过滤出剩余内存量的行,使用 awk’{print $4}’ 命令只保留第四列,最后用 FreeMem=`语句` 的方式把语句内执行结果复制给变量

示例1 :判断String变量是否为空,进而判断是否定义了这个变量

示例2 :引入逻辑运算符,判断语系LANG

1、 编写shell脚本,实现如下功能:(

#!/bin/bashif ;then echo "$1 = $2" exit 0elif ;then echo "$1 》 $2" exit 0fiecho "$1 《 $2 "

如何利用shell脚本中的eval命令来构造"智能"命令

今天主要介绍一个shell脚本中比较少见的命令--eval

功能说明 :重新运算求出参数的内容。

语 法 :eval

补充说明 :eval可读取一连串的参数,然后再依参数本身的特性来执行。

参 数 :参数不限数目,彼此之间用分号分开。

eval命令将会首先扫描命令行进行所有的替换,然后再执行命令。该命令使用于那些一次扫描无法实现其功能的变量。该命令对变量进行两次扫描。这些需要进行两次扫描的变量有时候被称为复杂变量。eval也可以用于回显简单变量,不一定是复杂变量。

eval的作用是再次执行命令行处理,也就是说,对一个命令行,执行两次命令行处理。这个命令要用好,就要费一定的功夫。下面用几个例子帮助大家理解下。

1、eval一个命令

eval echo相当于echo

2、两次扫描

该命令适用于依次扫描无法完成其功能的变量。

第一步:对eval后面的命令进行扫描,执行变量替换,普通命令保留

第二步:执行变量替换后的命令串

3、获得最后一个参数

4、用eval技巧实现shell的控制结构for

用eval技巧实现shell的控制结构for

输出结果:

注意:bash里有两个很特殊的变量,它们保存了参数列表。

这里我使用了函数递归以及eval实现了for结构。

当执行eval $@时,它经历了步骤如下:

第1步,分割成eval $@

第6步,扩展$@为hostname

第11步,找到内置命令eval

重复一次命令行处理,第11步,找到hostname命令,执行。

eval是对Bash Shell命令行处理规则的灵活应用,进而构造"智能"命令实现复杂的功能。上面提及的命令是eval其中一个很普通的应用,它重复了1次命令行参数传递过程,纯粹地执行命令的命令。其实它是bash的难点,是高级bash程序员的必修技能。

这段shell脚本实现的是什么功能

这是在判断放在inetipaddrs变量中的ip地址是否是有效的,无效显示no,有效显示yes

编写一个shell脚本 ,实现功能:从键盘输入数字,和脚本生成的数字对比,如果一致,输出输入的次数, 如

num=$((RANDOM % 50 +1))guess=1read -p "please guess number:" usrnumwhile do    if  ;then           echo "too big"       else              echo "too small"       fi       read -p "please guess number:" usrnum              guess=$(( guess + 1))doneecho "you guess $guess times to get right answer:$num"

关于shell脚本实现功能,编写一个shell脚本文件,实现以下功能:的介绍到此结束,希望对大家有所帮助。