阿铭每日一题 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\n",x) 输出:The character is A |
%d |
打印一个十进制数 printf("The boy is %d years old\n",y) 输出:The boy is 15 years old |
%e |
打印数字的e 记数法形式 printf("z is %e\n",z) 输出:z is 2.3e+0 1 |
%f |
打印一个浮点数 printf("z is %f\n",2.3 * 2) 输出:z is 4.600000 |
%o |
打印数字的八进制 printf("y is %o\n",y) 输出:z is 17 |
%s |
打印一个字符串 pirntf("The name of the culprit is %s\n",$1) 输出:The name of the culprit is Bob Smith |
%x |
打印数字的十六进制 pirntf("y is %x\n",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