本文目录
Linux中shell编程,输出任何数的和
我是这么理解楼上提问题的意思:求前n个奇数之和,数字n可变。比如n=5,则5前面的奇数为1和3并求和为4。如果n=9,则9前面的奇数为1,3,5,7并求和为16。不知道我理解的对不?如果是这样的,那么如下所示:
代码:
#!/bin/bash
sum=0
k=0
while
do
echo $((2*$k+1))
sum=$((2*$k+1+$sum))
k=$(($k+1))
done
echo "sum: $sum"
Linux shell 编程
1、#!/bin/bashdir=$1shiftfor f in $@; do cat $dir/$fdone2、#!/bin/bashdir=$1for f in *.c; do mv $f $dir/donels -lS $dir3、#!/bin/basha1=1a2=1sum=$((a1+a2))echo "F0=$a1"echo "F1=$a2"i=2while ; do a3=$((a1+a2)) echo "F$i=$a3" sum=$((sum+a3)) a1=$a2 a2=$a3 i=$((i+1))doneecho "SUM=$sum"
linux:shell编程.如图
把第三行的 echo &去掉,就不会有空一行,如下:
#!/bin/shecho "Mr.$USER, Today is: "date "+%B%d%A"echo "Wish you a lucky day!"
如果你想把时间和第一句话放在一行,可以在第一个echo后面加个参数-n,意思是输出结果后不换行,默认是自动换行。
另外介绍下,echo 的参数-e是用于执行某些特殊符号比如\a\b\c\n等,遇到这些字符会变当作转义符号。
linux shell编程
第一题#!/bin/bashif ;then chmod +x $1else touch $1 chmod +x $1fi第二题1-100的阶乘,linux变量存不了这么多的数,溢出了。#!/bin/bashj=1for ((i=2;i《=100;i++))do j=$((j*i))doneecho "$j"