Linux学习之shell script

一、撰写一个script,让使用者输入:1.first name 2.last name,最后在屏幕上显示:Your full name is:的内容

1
2
3
4
#!/bin/bash
read -p "Please input your firstname:" firstname
read -p "Please input your lastname:" lastname
echo -e "Your full name is:$firstname $lastname"

二、用户输入2个变量,然后将2个变量相乘,最后输出相乘结果

1
2
3
4
5
#!/bin/bash
read -p "input first number:" firstnu
read -p "input second number:" secnu
total=$(($firstnu*$secnu))
echo -e "the result of $firstnu x $secnu is $total"

三、使用source执行script,可将变量置于父进程(环境)中

 

四、用户输入一个filename,并做如下判断:

  1. filename的档案是否存在,不存在就终止程序

  2. 若存在,则判断是文件还是目录,并输入结果

  3. 判断当前身份用户对该档案/目录所具有的权限,并输出结果

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/bin/bash
echo -e "Please input a filename,this program will check the file's type and permission"
read -p "Input a filename:" filename
 
#1.判断使用者是否真有输入字符串
test -z $filename&&echo "You must input a filename"&& exit 0
 
#2.判断档案是否存在,不存在则终止程序
test ! -e $filename&&echo "the filename $filename no exist"&& exit 0
 
#3.判断文件类型及属性
test -f $filename&&filetype="regular file"
test -d $filename&&filetype="directory"
test -r $filename&&perm="readable"
test -w $filename&&perm="$perm writable"
test -x $filename&&perm="$perm executable"
 
#4.开始输出信息
echo "The filename: $filename is a $filetype"
echo "The permisson are: $perm"

 

五、使用中括号代替test进行判断

1
2
3
4
5
#!/bin/bash
read -p "Please choose Y/N:" yn
"$yn" == "y" -o "$yn" == "Y" ]&&echo -e "OK,continue"&&exit 0
"$yn" == "n" -o "$yn" == "N" ]&&echo -e "Oh,interrupt"&&exit 0
echo -e "I don't know what you mean"&&exit 0

 

六、使用if..elif..then..fi判断式

1
2
3
4
5
6
7
8
9
10
11
12
13
#!/bin/bash
read -p "Please choose Y/N:" yn
if "$yn" == "Y" ]||[ "$yn" == "y" ];
then
echo -e "OK,continue"
 
elif "$yn" == "N" ]||[ "$yn" == "n" ];
then
echo -e "Oh,interrupt"
 
else
echo -e "I don't know what you mean"
fi

 

posted @ 2017-05-03 16:50  enginex  阅读(282)  评论(0)    收藏  举报