bash Linux 文件判断,if

#!/bin/sh

给一个提示,输入内容加入变量

read -p "Enter your name:" name

echo "hello $name, welcome to my program"

myvar=foodforthought.tar.gz

字符串截取:

echo $myvar
echo ${myvar##*fo} 长
echo ${myvar#*fo}  短
echo ${myvar##*.}
echo ${myvar#*.}

read -p "Enter file name:" filename
echo extension:${filename##*.}

echo filename:${filename%%.*}


命令变量

cmd='ls'  

echo $cmd

cmd=$(ls)

echo $cmd


变量输出

#myvar=hello
#myvar=${myvar}world

#echo $myvar


根据文件名判断文件类型

#filename="foo.tar.gzip"

#if [ ${filename##*.} = "gz" ]
#then
#echo "${filename} is a tarball"
#elif [ ${filename##*. } = "c" ]
#then
#echo "${filename} is a c source"
#else
#echo "${filename} not a tarball or c source"

#fi


判断文件是否存在是否是文件或目录

#if [ -e a.c ]
#then
#echo a.c exist
#fi
#if [ -d a.c ]
#then
#echo a.c is a directory
#else
#echo a.c not a directory

#fi

例子:

#read -p "Enter filename:" filename
#if [ -e $filename ]
#then
    #if [ -d $filename ]
    #then
        #echo "directory"
    #fi
    #if [ -f $filename ]
    #then
        #echo "file"
    #fi
#else
    #echo "file not exist"

#fi


判断字符串相等

string=hello
if [ -z "$string" ]
then
    echo "len is zero"
else
    echo "not zero"
fi
if [ $string != "hello" ]
then
    echo "not equal"
else
    echo "equal"

fi


判断数字相等

myvar=03
if [ $myvar -eq 3 ]
then
    echo "equal -eq"
fi
if [ $myvar = "3" ]
then
   echo "equal ="

fi


for循环的运用

for x in one two three four
do
    echo $x
done
for name in /etc/r*
do
    if [ -d $name ]
    then
        #echo "$name (dir)"
    else
        #echo "$name"
    fi

done


全局变量

echo $0 本身
echo $1  第二个
echo $#  即代表argc 表示说有的数字

echo $@  代表所有的argv   字符串用


例子

filename=$1
echo extension:${filename##*.}
echo filename:${filename%%.*}

echo $@


for x in $@
do
    echo $x

done

在目录中改名:

for file in ./*.c
do
    mv $file ${file%.*}.d

done

until中自加变量 输出

myvar=0
until [ $myvar -eq 10 ]
do
    echo $myvar
    myvar=$(($myvar + 1))
done
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值