#!/bin/sh
echo ${myvar##*fo} 长
echo ${myvar#*fo} 短
echo ${myvar##*.}
echo ${myvar#*.}
read -p "Enter file name:" filename
echo extension:${filename##*.}
#myvar=${myvar}world
#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"
#then
#echo a.c exist
#fi
#if [ -d a.c ]
#then
#echo a.c is a directory
#else
#echo a.c not a directory
#if [ -e $filename ]
#then
#if [ -d $filename ]
#then
#echo "directory"
#fi
#if [ -f $filename ]
#then
#echo "file"
#fi
#else
#echo "file not exist"
if [ -z "$string" ]
then
echo "len is zero"
else
echo "not zero"
fi
if [ $string != "hello" ]
then
echo "not equal"
else
echo "equal"
if [ $myvar -eq 3 ]
then
echo "equal -eq"
fi
if [ $myvar = "3" ]
then
echo "equal ="
do
echo $x
done
for name in /etc/r*
do
if [ -d $name ]
then
#echo "$name (dir)"
else
#echo "$name"
fi
echo $1 第二个
echo $# 即代表argc 表示说有的数字
echo extension:${filename##*.}
echo filename:${filename%%.*}
do
echo $x
do
mv $file ${file%.*}.d
until [ $myvar -eq 10 ]
do
echo $myvar
myvar=$(($myvar + 1))
done
给一个提示,输入内容加入变量
read -p "Enter your name:" name
echo "hello $name, welcome to my program"myvar=foodforthought.tar.gz
字符串截取:
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=${myvar}world
#echo $myvar
根据文件名判断文件类型
#filename="foo.tar.gzip"
#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
判断文件是否存在是否是文件或目录
#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
例子:
#if [ -e $filename ]
#then
#if [ -d $filename ]
#then
#echo "directory"
#fi
#if [ -f $filename ]
#then
#echo "file"
#fi
#else
#echo "file not exist"
#fi
判断字符串相等
if [ -z "$string" ]
then
echo "len is zero"
else
echo "not zero"
fi
if [ $string != "hello" ]
then
echo "not equal"
else
echo "equal"
fi
判断数字相等
if [ $myvar -eq 3 ]
then
echo "equal -eq"
fi
if [ $myvar = "3" ]
then
echo "equal ="
fi
for循环的运用
do
echo $x
done
for name in /etc/r*
do
if [ -d $name ]
then
#echo "$name (dir)"
else
#echo "$name"
fi
done
全局变量
echo $1 第二个
echo $# 即代表argc 表示说有的数字
echo $@ 代表所有的argv 字符串用
例子
echo extension:${filename##*.}
echo filename:${filename%%.*}
echo $@
do
echo $x
done
在目录中改名:
do
mv $file ${file%.*}.d
done
until中自加变量 输出
until [ $myvar -eq 10 ]
do
echo $myvar
myvar=$(($myvar + 1))
done