shell 作业
This commit is contained in:
parent
52ae50ce5e
commit
b205c2c28f
|
@ -0,0 +1,6 @@
|
|||
#!/bin/bash
|
||||
|
||||
# 编写一个Shell脚本,输出当前日期和时间。
|
||||
# 【要求】按 “xxxx年xx月xx日 xx时xx分xx秒” 格式输出
|
||||
|
||||
echo `date +"%Y年%m月%d日 %H时%M分%S秒"`
|
|
@ -0,0 +1,11 @@
|
|||
#!/bin/bash
|
||||
|
||||
# 编写一个Shell脚本,计算1到100之间所有3倍数的整数和svi
|
||||
|
||||
declare -i svi=0
|
||||
for (( i=1;i<=100;i++ )); do
|
||||
if (( i%3==0 )); then
|
||||
svi+=i
|
||||
fi
|
||||
done
|
||||
echo "svi="$svi
|
|
@ -0,0 +1,13 @@
|
|||
#!/bin/bash
|
||||
|
||||
# 编写一个Shell脚本,接受一个文件名作为参数,并统计该文件中的行数、单词数和字符数
|
||||
# 【提示】wc 统计命令
|
||||
|
||||
if [ -e $1 ] && [ -f $1 ]; then
|
||||
echo "文件名:$1"
|
||||
echo "行数:`wc -l $1 | awk '{print $1}'`"
|
||||
echo "单词数:`wc -w $1 | awk '{print $1}'`"
|
||||
echo "字符数:`wc -c $1 | awk '{print $1}'`"
|
||||
else
|
||||
echo "文件不存在或者不是一个文件"
|
||||
fi
|
|
@ -0,0 +1,13 @@
|
|||
#!/bin/bash
|
||||
|
||||
# 编写一个Shell脚本,接受一个目录名作为参数,并列出该目录下的所有文件和子目录,并人性化显示文件的大小
|
||||
|
||||
if [ -d $1 ]; then
|
||||
echo "目录名:$1"
|
||||
echo "文件列表:"
|
||||
# 也可以直接写成 ls -lh $1
|
||||
output=`ls -lh $1`
|
||||
echo "$output"
|
||||
else
|
||||
echo "目录不存在"
|
||||
fi
|
|
@ -0,0 +1,14 @@
|
|||
#!/bin/bash
|
||||
|
||||
# 编写一个Shell脚本,接受一个数字作为参数,并判断该数字是奇数还是偶数。
|
||||
|
||||
if [ $# -ne 1 ]; then
|
||||
echo "参数个数不正确"
|
||||
exit 1
|
||||
else
|
||||
if (( $1%2==0)); then
|
||||
echo "$1 是偶数"
|
||||
else
|
||||
echo "$1 是奇数"
|
||||
fi
|
||||
fi
|
|
@ -0,0 +1,11 @@
|
|||
#!/bin/bash
|
||||
|
||||
# 编写一个Shell脚本,接受一个字符串作为参数,并将该字符串逆序输出。
|
||||
# 【提示】 echo "abc"|rev
|
||||
|
||||
if [ $# -ne 1 ]; then
|
||||
echo "请提供一个字符串作为参数"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "$1"|rev
|
|
@ -0,0 +1,14 @@
|
|||
#!/bin/bash
|
||||
|
||||
# 编写一个Shell脚本,接受一个文件路径作为参数,并检查该文件是否存在。如果存在,则输出 "文件名和文件大小",否则输出 "File does not exist."
|
||||
|
||||
# 方法一
|
||||
if [ -e $1 ]; then
|
||||
output=`ls -lh $1 | awk '{print $5}'`
|
||||
echo "文件名: $1, 文件大小: $output"
|
||||
else
|
||||
echo "File does not exist."
|
||||
fi
|
||||
|
||||
# 方法二
|
||||
[ -e $1 ] && echo "文件名: $1, 文件大小: `ls -lh $1 | awk '{print $5}'`" || echo "File does not exist."
|
|
@ -0,0 +1,24 @@
|
|||
#!/bin/bash
|
||||
|
||||
# 编写一个Shell脚本,接受一个目录名作为参数,将目录中所有文件打包成xx.tar.bz2到它的父级目录,然后再删除该目录及其所有子目录和文件。
|
||||
|
||||
if [ $# -ne 1 ]; then
|
||||
echo "请提供目录参数"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
dir=$1
|
||||
# 获取父级目录
|
||||
father_dir=`dirname $dir`
|
||||
# 获取目录名
|
||||
dir_name=`basename $dir`
|
||||
# 打包目录中所有文件
|
||||
tar -jcvf $father_dir/$dir_name.tar.bz2 $dir
|
||||
# 判断是否打包成功
|
||||
if [ $? -eq 0 ];then
|
||||
# 删除目录
|
||||
rm -rf $dir
|
||||
echo "已删除目录 $dir"
|
||||
else
|
||||
echo "打包失败"
|
||||
fi
|
Loading…
Reference in New Issue