#! /bin/bash
if [ $# -ne 1 ]
then
echo arguments not valid
exit 1
fi
if [ ! -e "$1" ]
then
echo not exist
exit 2
fi
if [ -f "$1" ]
then
echo regular file
fi
if [ -d "$1" ]
then
echo directory
fi
if [ -r "$1" ]
then
echo readable
fi
if [ -w "$1" ]
then
echo writable
fi
if [ -x "$1" ]
then
echo executable
fi
在shell函数中,return的作用是表达程序是否正常结束,return 0代表程序正常结束,否则表示异常结束;而echo的作用是返回程序计算结果的值
添加执行权限: chmod + x *.sh
可以 bash *.sh
执行 或者sh *.sh
注意开多个pane时,要把vim 编辑的文件保存退出,再提交测试。否则会有.swap文件。
#! /bin/bash
dir0=/home/acs/homework/lesson_1/homework_0
dir1=/home/acs/homework/lesson_1/homework_1
dir2=/home/acs/homework/lesson_1/homework_2
dir3=/home/acs/homework/lesson_1/homework_3
dir4=/home/acs/homework/lesson_1/homework_4
dir5=/home/acs/homework/lesson_1/homework_5
dir6=/home/acs/homework/lesson_1/homework_6
dir7=/home/acs/homework/lesson_1/homework_7
dir8=/home/acs/homework/lesson_1/homework_8
dir9=/home/acs/homework/lesson_1/homework_9
# homework 1 create
# ***homework_0***
for i in dir_a dir_b dir_c
do
mkdir ${dir0}/$i
done
# ***homework_1***
bf0=.txt
bf1=.bak
for i in a b c
do
cp ${dir1}/${i}${bf0} ${dir1}/${i}${bf0}${bf1}
done
# ***homework_2***
bf2=_new
for i in a b c
do
mv ${dir2}/${i}${bf0} ${dir2}/${i}${bf2}${bf0}
done
# ***homework_3***
for i in a b c
do
mv ${dir3}/dir_a/${i}${bf0} ${dir3}/dir_b/
done
# ***homework_4***
rm ${dir4}/*.txt
# ***homework_5***
for i in a b c
do
rm ${dir5}/dir_${i} -r
# rm ${dir5}/* -r
done
# ***homework_6***
mv ${dir6}/task.txt "${dir6}/done.txt"
mkdir ${dir6}/dir_a
mv "${dir6}/done.txt" ${dir6}/dir_a/
# ***homework_7***
for i in 0 1 2
do
mkdir ${dir7}/dir_${i}
for j in a b c
do
cp ${dir7}/${j}.txt ${dir7}/dir_${i}/${j}${i}.txt
done
done
# ***homework_8***
rm ${dir8}/dir_a/a.txt
mv ${dir8}/dir_b/b.txt ${dir8}/dir_b/b_new.txt
cp ${dir8}/dir_c/c.txt ${dir8}/dir_c/c.txt.bak
# ***homework_9***
rm ${dir9}/*.txt
# homework 1 test