Shell 基础命令语法


因为工作要用到shell自动部署一个项目,所以今天我们先来研究一下shell的基础命令。

#!/bin/bash
# 上面这个shell脚本的头,每门语言都有自己的头

字符串

echo "hello"
echo "hi"

# 变量
num="我是变量"
echo $num

num1=10
num2=50

#env  env是读取环境变量
# 读取进程
echo "进程号:$0"
echo "进程号:$$"

# ``这个符号执行变量
echo `date`

# 转义字符  加上-e才行
echo -e "你好啊\n成都"

判断和if条件语句

# 判断
test $num1 -eq $num2
echo "相等:$?"

# 条件判断
if [ $num1 = 10 ]; then
    echo "这是等于10"
else
    echo "默认"
fi

文件夹和文件基础创建

# 创建文件夹,文件系列
dirName="aaa"
if [ -e $dirName ]; then
    echo "文件夹存在,即将进入文件夹"
    cd $dirName
    echo "创建一个文件名字叫 a.txt"
    touch a.txt
else
    echo "文件夹不存在,创建该文件夹"
    mkdir $dirName
    echo "进入文件夹,然后创建文件a.txt"
    cd $dirName
    touch a.txt
fi

用户交互

# 读取键盘输入的内容,用户交互
read -p "请输入文件夹的名字:" dirFileName
if [ -e $dirFileName ]; then
    echo "存在该文件夹"
else
    mkdir $dirFileName
fi

# 命令选择
read -p "请输入y创建文件夹,n直接退出:" yes
if [ $yes = "y" ]; then
    mkdir haaha
elif [ $yes = "n" ]; then
    echo "退出了"
fi

case语句

# case语句
read -p "请输入yes/no:" choice
case $choice in
    yes | y* | Y*)
        echo "输入了yes"
        ;;
    no | n* | N*)
        echo "输入了no"
        ;;
    *)
        echo "输入了其他"
        ;;
esac

for循环

# for循环
declare -i sum=0
declare -i i=0
for (( i=0; i<=100; i++ ))
do
    sum=$sum+$i;
done
echo "sum=$sum"

for i in 1 2 3 4 5
do
    sum=$sum+$i;
done
echo "sum=$sum"

# 扫描文件
for fileName in `ls`
do
    if [ -d $fileName ]; then
        echo "$fileName是文件夹"
    elif [ -f $fileName ]; then
        echo "$fileName是文件"
    fi
done

函数

# 函数
function getMax()
{
    if [ $1 -gt $2 ]; then
        return $1
    else
        return $2
    fi
}
read -p "请输入数值1:" data1
read -p "请输入数值2:" data2
# 函数调用
getMax $data1 $data2
echo "$data1和$data2的最大值为:$?"


点赞2
点击评论0
收藏0
浏览 74
 

还没有评论,快来发表第一个评论吧

免责声明:凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,注册用户和一般页面游览者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任(包括侵权责任、合同责任和其它责任)
*尊重作者,转载请注明出处!