阿铭每日一题 day 10 20180120

printf使用的转义字符

转义字符 定义
c 字符
s 字符串
d 十进制整数
ld 十进制长整数
u 十进制无符号整数
lu 十进制无符号长整数
x 十六进制整数
lx 十六进制长整数
o 八进制整数
lo 八进制长整数
e 用科学记数法(e 记数法)表示的浮点数
f 浮点数
g 选用e或f中较短的一种形式

printf的修饰符

字符 定义
- 左对齐修饰符
#

显示8进制整数时在前面加个0

显示16进制整数时在前面加个0

+ 显示使用d、e、f和g转换的整数时,加上正负号+或-
0 用0而不是空白符来填充所显示的值

printf的格式说明符

格式说明符 功能
%c

打印单个ASCII字符

printf("The character is %c ",x)

输出:The character is A

%d

打印一个十进制数

printf("The boy is %d years old ",y)

输出:The boy is 15 years old

%e

打印数字的e 记数法形式

printf("z is %e ",z)

输出:z is 2.3e+0 1

%f

打印一个浮点数

printf("z is %f ",2.3 * 2)

输出:z is 4.600000

%o

打印数字的八进制

printf("y is %o ",y)

输出:z is 17

%s

打印一个字符串

pirntf("The name of the culprit is %s ",$1)

输出:The name of the culprit is Bob Smith

%x

打印数字的十六进制

pirntf("y is %x ",y)

输出:x is f

方法一:以下方法是要对磁盘进行分区,题目要求是不对磁盘进行分区 ^_^

 1 #!/bin/bash
 2 #Author:Yang YuanQiang
 3 #Blog:http://www.cnblogs.com/ivan-yang/
 4 #Time:2018-01-20 09:53:09
 5 #Name:day10_20180120.sh
 6 #Version:V1.0
 7 #Description:This is a test script.
 8 
 9 i=1
10 while [ $i -lt 3 ]
11 do
12 #"%c" 打印ASCII 字符,97代表小写a字符
13     j=`echo $i |awk '{printf "%c",97+$i}'`
14     echo $j
15     fdisk /dev/xvd$j <<End
16     n
17     p
18     1
19 
20 
21 
22     w
23 End
24     echo "/n/n********/dev/sd${j}  __was Fdisked! Waiting For 10 Second********/n/n"
25     sleep 10
26     mkfs.ext4 /dev/sd${j}1 &> /dev/null
27     if [ $? == "0" ];then
28         echo "/n/n********sd${j}1 _______________was Formated, Waiting For 5 Second********/n/n"
29         mkdir -p /data/sd${j}1
30         mount="/dev/sd${j}1 /data/sd${j}1 ext4 defaults 0 0"
31         echo ${mount} >> /etc/fstab
32         mount -a
33     fi
34     let i+=1
35     sleep 5
36 done

day10参考答案:

 1 #!/bin/bash
 2 
 3 echo "Useage $0 盘符 挂载点,如: $0 /dev/xvdb /data"
 4 
 5 if [ $# -ne 2 ];
 6 then
 7     exit
 8 fi
 9 
10 if [ ! -b $1 ];
11 then
12     echo "你提供的盘符不正确,请检查后再操作"
13     exit 1
14 fi
15 
16 mkfs -t ext4 $1
17 
18 if [ ! -d $2 ];
19 then
20     mkdir -p $2
21 fi
22 
23 n=`egrep "$2" /etc/fstab |wc -l`
24 if [ $n -eq 0 ];
25 then
26     echo "$1  $2  ext4 defaults 0 0" >> /etc/fstab
27     mount -a
28 else
29     mount $1 $2
30     echo "配置文件/etc/fstab中已经存在挂载点$2,请检查一下."
31 fi
原文地址:https://www.cnblogs.com/ivan-yang/p/8323647.html