#!/bin/bash
read VAR
# 下面这两种判断方法都可以,使用 [] 注意左右加空格
#if test $VAR -eq 10
if [ $VART -eq 10 ]
then
echo "true"
else
echo "false"
fi
read 的方法就python中的input,写成一行(适用于终端命令提示符):
if [ $VART -eq 10 ]; then echo "true"; else echo "false";fi
for 循环
for 循环和Python没有什么区别,挺简单的
# 普通 for 循环
for ((i = 1; i <= 3; i++))
do
echo $i
done
# loop 依次代表每个元素
for loop in 1 2 3 4 5
do
echo "The value is: $loop"
done
# VAR 依次代表每个元素 ,{}产生连续数字
for VAR in {1..3}
do
echo $VAR
done
#也可以写成一行,方便在命令行直接运行,注意空格和;号:
maoli@ubuntu:~$ for VAR in {1..3}; do echo $VAR; done
1
2
3
printf打印
printf 命令模仿 C 程序库(library)里的 printf() 程序, 这里补充-e开启转义\c不换行,其他和Python一样。
maoli@ubuntu:~$ echo "It is a test"
It is a test
maoli@ubuntu:~$ echo -e "OK! \n"
OK!
maoli@ubuntu:~$ printf "%-10s %-8s %-4s\n" 姓名 性别 体重kg
姓名 性别 体重kg
maoli@ubuntu:~$ printf "%-10s %-8s %-4.2f\n" Runsen 男 65
Runsen 男 65.00
test 检查
Shell中的 test 命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试。
比如下判断两个字符串是否相同t
num1="Runsen"
num2="Runsen"
if test $num1 = $num2
then
echo '两个字符串相等!'
else
echo '两个字符串不相等!'
fi
两个字符串相等!
#!/usr/bin/bash
printf 'm = '
read m
printf 'n = '
read n
a=$m
sum=0
while [ $a -le $n ]
do
sum=$[ sum + a ]
a=$[ a + 1 ]
done
echo '结果: '$sum
创建文件夹和文件
例子2:自动创建文件夹和指定数量的文件。
#!/usr/bin/bash
printf '输入文件名: '
read file
printf '输入文件数量(<1000): '
read num
if [ $num -ge 1000 ]
then
echo '文件数量不能超过1000'
else
if [ -e $dir -a -d $dir ]
then
rm -rf $dir
else
if [ -e $dir -a -f $dir ]
then
rm -f $dir
fi
fi
mkdir -p $dir
index=1
while [ $index -le $num ]
do
if [ $index -lt 10 ]
then
pre='00'
elif [ $index -lt 100 ]
then
pre='0'
else
pre=''
fi
touch $dir'/'$file'_'$pre$index
index=$[ index + 1 ]
done
fi