2023/2/16 shell练习
1. 打印九九乘法表,printf “%d * %d = %d\t” i j $((i*j))
for i in `seq 1 1 9`
do
for j in `seq 1 1 $i`
do
printf "%d * %d =%d\t" $i $j $((i*j))
done
printf "\n"
done
2. 输入文件名,判断是否为普通文件,如果为普通文件,判断是否为脚本文件,如果为脚本文件,判断是否有可执行权限,如果没有可执行权限,添加可执行权限。
#!/bin/bash
read -p "输入文件名:" file
if [ -f $file ]
then
len=`expr length "$file"`
i=`expr index "$file" "."`
str=`expr substr "$file" "$((i+1))" "$((len-i))"`
echo $str
if [ $str = "sh" ]
then
if [ ! -x $file ]
then
echo "无可执行权限,已添加"
chmod +x $file
fi
else
echo "有可执行权限"
fi
else
echo "不是普通文件"
fi
3. 输入一个无符号的八位数,输出他的二进制
#!/bin/bash
read -p "输入一个无符号的八位数:" num
for ((i=0;i<8;i++))
do
((arr[7-i]=num%2))
((num=num/2))
done
echo ${arr[*]}