shell编程啊在线解答 扣666

1.

img

2.!https://img-mid.csdnimg.cn/release/static/image/mid/ask/610232540866116.jpg

3.

img

第一题:


#!/bin/sh

read name
if [ $name = "Jack" ];then
  echo "hello Jack"
else
  echo "I do not know you"
fi

[] 在条件判断语句中和 test 是等同的,左中括号是调用test的命令标识,右中括号是关闭条件判断的。因此上述代码可以改写成

read name
if test $name = "Jack" ;then
  echo "hello Jack"
else
  echo "I do not know you"
fi

代码执行过程:首先read 读取控制台输入,并把用户输入的值赋给变量name,通过if条件判断语句判断变量name的值是不是Jack,如果是,则输出hello Jack,否则输出I do not know you

第二题:
(1)
$i 表示for循环中的每一项
$1 为用户输入的第一个参数
(2)
程序的执行结果和使用方法: 理论上会把所有以c结尾的文件备份到back.c这个文件里面,但是在centos中find . -name *.c -print这个命令会报错,除非使用find . -name \*.c -print
(3)
2表示标准错误,>表示重定向,/dev/mull表示空设备2>/dev/nul,将标准错误重定向到空设备里,即不输出错误信息