Linux中编写shell脚本,输出如下序列:1,3,2,4,3,5,4,6,···100 。[附图]

2024-12-21 11:34:15
推荐回答(5个)
回答1:

脚本至少有如下错误:

  1. {j}改为${j}或$j,是要取值的啊

  2. expr语句外面是反引号(键盘上ESC下面那个键)而不是单引号,表示执行命令而不是单纯一个字符串,expr后面的运算符左右两侧要有空格。

  3. if跟[之间是要有空格的,if判断表达式比较符两侧也要有空格,数字跟 [ ]之间要有空格。


我修正了,自己运行成功生成你要的数列了。你自己对比下吧:

#!/bin/bash
#script name prg8.sh
clear
i=1
for ((j=1;j<=98;j++))
do
   echo -n "$j,`expr $j + 2`,"
   if [ $i -eq 10 ]
   then
      echo ""
      i=1 
   else
      i=$((i+1))
   fi  
done
echo ""

 注释里已经说了,script name prg8.sh,脚本名叫prg8.sh,当然,叫什么名字是你的自由。

回答2:

上面写的真的是shell脚本,不是C。可以直接执行的,GCC的编译针对于C的。这个真的弄混了。还有GCC的用法写的不对啊,详情可以参见百度上的教程。

回答3:

孩子脚本语言是不需要编译的,sh 12.c就可以了,还有shell脚本一般以sh为扩展名,不要用c,也可以chmod +x 12.c 加可执行权限,./12.c来执行

回答4:

你这是shell脚本,又不是c程序。shell脚本设置下就可以直接跑,不用编译。

  1. 先把你的文件名改成12.sh(当然名字不重要,只是用来标识是shell脚本的)

  2. chmod 777 12.sh

  3. . ./12.sh 或者是source ./12.sh

    就可以执行了。

回答5:

你只是想输出1~100这100个数字??

直接用循环就行了啊

代码

#!/bin/bash

for (( i=1; i<=100 ; i=i+1 ))
do
echo "$i"
done

————————————————————
看错题目了,当我没答