1、编写一个shell脚本,他把第二个位置参数及其以后的各个参数指定的文件复制到第一个位置参数指定的目录中。
#!bash
count=$#
echo $count
if [ $count -lt 2 ]
  then echo "The reference is invalid"
    exit
else echo "The reference is valid"
fi
if test -d "$1"
  then echo "the first reference is valid"
else echo "the first reference is invalid"
fi
while [ -f "\$$count" ]
do
  count=`expr $count - 1`
done
echo $count
2、编写一个shell脚本,显示当天日期,查给定的某用户是否在系统中工作,如果在系统中,就发一个问候给他。
#!bash
echo "Today is `date`"
user=`whoami`
if [ $user == $1 ]
  then echo "Hello ,$1"
fi
3、利用数组形式存放10个城市的名字,然后用for循环把它们打印出来。
#!bash
city[0]="xi'an"
city[1]="beijing"
city[2]="shanghai"
city[3]="chengdu"
city[4]="nanjing"
for((i=0;i<5;i++))
do
    echo ${city[$i]}
done
4、逆序打印脚本提供的参数
count=$#
cmd=echo
while [ $count -gt 0 ]
do
  cmd="$cmd \$$count"
  count=` expr $count - 1 `
done
eval $cmd
5、编写一个Shell程序,它以立方体的边长作为参数,显示立方体的体积。
#!/bin/bash
number=$1
if [ -z "$number" ]; then
    echo "Missing argument"
    exit 1
fi
if [ $number -lt 1 ]; then
    echo "Invalid length $number"
    exit 1
fi
volume=$((number*number*number))
echo "volume is $volume"
6、删除当前目录下(包括各级子目录)所有长度为0的文件find -size 0b | xargs rm -rf
7、求费波那切前十项和总和
#!/bin/sh
a=1
b=1
echo $a
echo $b
n=`expr ${a} + ${b}`
count=4
while [ $count -gt 0 ]
do
    a=`expr ${a} + ${b}`
    b=`expr ${a} + ${b}`
    echo $a
    echo $b
    n=`expr ${n} + ${a} + ${b}`
    count=`expr ${count} - 1`
done
echo "The sum is $n"
8、将指定目录及其子目录中的包含字符串root的文本文件出来。
#/bin/bash
if [ -z "$1" ]
then
    path=`pwd`
    echo "缺少参数,默认为当前目录 $path "
    echo
    find $path -type f | grep "root"
else
    echo "参数 $1 所指向的目录和其子目录中包含root的文本文件如下:"
    echo
    find $1 -type f | grep "root"
fi
9参数数目不能小于2,第一个参数为目录文件,最后打印出不是普通文件的参数个数
#!bash
count=$#
echo $count
if [ $count -lt 2 ]
  then echo "The reference is invalid"  exit
else echo "The reference is valid"
fi
if test -d "$1"
  then echo "the first reference is valid"
else echo "the first reference is invalid"    fi
while [ -f "\$$count" ]
do  count=`expr $count - 1`
done
echo $count
1、编写一个shell脚本,他把第二个位置参数及其以后的各个参数指定的文件复制到第一个位置参数指定的目录中。
#!bash
count=$#
echo $count
if [ $count -lt 2 ]
  then echo "The reference is invalid"
    exit
else echo "The reference is valid"
fi
if test -d "$1"
  then echo "the first reference is valid"
else echo "the first reference is invalid"
fi
while [ -f "\$$count" ]
do
  count=`expr $count - 1`
done
echo $count
2、编写一个shell脚本,显示当天日期,查给定的某用户是否在系统中工作,如果在系统中,就发一个问候给他。
#!bash
echo "Today is `date`"
user=`whoami`
if [ $user == $1 ]
  then echo "Hello ,$1"
fi
3linux在线编程、利用数组形式存放10个城市的名字,然后用for循环把它们打印出来。
#!bash
city[0]="xi'an"
city[1]="beijing"
city[2]="shanghai"
city[3]="chengdu"
city[4]="nanjing"
for((i=0;i<5;i++))
do
    echo ${city[$i]}
done
4、逆序打印脚本提供的参数
count=$#
cmd=echo
while [ $count -gt 0 ]
do
  cmd="$cmd \$$count"
  count=` expr $count - 1 `
done
eval $cmd
5、编写一个Shell程序,它以立方体的边长作为参数,显示立方体的体积。
#!/bin/bash
number=$1
if [ -z "$number" ]; then
    echo "Missing argument"
    exit 1
fi
if [ $number -lt 1 ]; then
    echo "Invalid length $number"
    exit 1
fi
volume=$((number*number*number))
echo "volume is $volume"
6、删除当前目录下(包括各级子目录)所有长度为0的文件find -size 0b | xargs rm -rf
7、求费波那切前十项和总和
#!/bin/sh
a=1
b=1
echo $a
echo $b
n=`expr ${a} + ${b}`
count=4
while [ $count -gt 0 ]
do
    a=`expr ${a} + ${b}`
    b=`expr ${a} + ${b}`
    echo $a
    echo $b
    n=`expr ${n} + ${a} + ${b}`
    count=`expr ${count} - 1`
done
echo "The sum is $n"
8、将指定目录及其子目录中的包含字符串root的文本文件出来。
#/bin/bash
if [ -z "$1" ]
then
    path=`pwd`
    echo "缺少参数,默认为当前目录 $path "
    echo
    find $path -type f | grep "root"
else
    echo "参数 $1 所指向的目录和其子目录中包含root的文本文件如下:"
    echo
    find $1 -type f | grep "root"
fi
9参数数目不能小于2,第一个参数为目录文件,最后打印出不是普通文件的参数个数
#!bash
count=$#
echo $count
if [ $count -lt 2 ]
  then echo "The reference is invalid"  exit
else echo "The reference is valid"
fi
if test -d "$1"
  then echo "the first reference is valid"
else echo "the first reference is invalid"    fi
while [ -f "\$$count" ]
do  count=`expr $count - 1`
done
echo $count

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。