Linux实验六--shell编程

  1. 创建一个脚本,当运行该脚本时可以显示你目前的身份(账号信息)、目前所在的目录(当前的工作目录)、家目录,并提示你还有几天可以过生日。
vi 1.sh
i
#!/bin/bash
#filename=1.sh
whoami
pwd
echo $HOME
today=$(date +%j)
mybir=(date -d "Feb 19" +%j)
if [[ $(($mybir-$today)) > 0 ]]
then
echo $today
else
echo $(($mybir-$today+365))
fi
:wq
. 1.sh
  1. 判断当前目录下是否存在文件 abc.sh。若文件不存在,则创建该件;若文件已存在,则显示“File already exist”。
vi 2.sh
i
#!/bin/bash
#filename=2.sh
if [[ ! -f "abc.sh" ]]
then
touch abc.sh
else
echo "File already exist"
fi
:wq
. 2.sh
. 2.sh
  1. 判断当前目录下的文件 abc.sh 是否为可执行文件。若是,则显示文件为可执行文件,否则为文件添加可执行权限。
vi 3.sh
i
#!/bin/bash
#filename=3.sh
if [[ ! -x "abc.sh" ]]
then
chmod +x abc.sh
else
echo "该文件为可执行文件"
fi
:wq
. 3.sh
. 3.sh
  1. 编写一个shell脚本,计算100以内不是5整数倍的数字之和。
vi 4.sh
i
#!/bin/bash
#filename=4.sh
sum=0
for((i=0;i<=10;i++))
do
if [[ $(($i%5)) != 0 ]]
then
sum=$(($sum+$i))
fi
done
echo $sum
:wq
. 4.sh
  1. 设计一个程序 cuts,它由标准输入读入数据,获取由第一个参数 n 和第二个参数 m 所限定范围的数据,n 和 m 都是整数,即从输入的字符串中抽取第 n 个字符到第 m 个字符之间的所有字符(包括这两个字符)。例如
    $cuts 11 14
    This is a test of cuts program<Enter>
    test(结果显示)
vi cuts.sh
i
#!/bin/bash
#filename=cuts.sh
read str
start=$(($1-1))
end=$2
length=$(($end-$start))
echo ${str:start:length}
:wq
. cuts.sh 6 10
helloworld
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。