美文网首页
Android NDK - shell语法

Android NDK - shell语法

作者: Lucky胡 | 来源:发表于2019-11-16 15:18 被阅读0次

shell文件需要以.sh为后缀名。

以#!/bin/bash开头,代表$BASH地址。

#!/bin/bash

echo "hujun"

A=10
#打印变量值
echo $A

#打印当前文件地址
echo $PWD

#打印当前程序名称
echo $0

#打印输入的第一个参数
echo $1

#打印输入的第二个参数
echo $2

#打印输出的所有参数
echo $*

#打印输入参数个数
echo $#

#命令执行的状态,一般返回0,代表成功。代表上一个命令是否执行成功
echo $?

注意:变量名定义时=前后不能有空格。

循环语句for

#!/bin/bash

#seq 是系统自带命令,生成数组
#用反引号括起来的是一个语句,生成的结果作为参数
for i in `seq 1 15`; do
    echo $I
done

for (( i = 0; i < 10; i++ )); do
    echo $I
done

j=0
for i in `seq 1 10`; do
    #expr是运算命令,做加法和减法
    # + 号前后必须有空格,否则就是字符串相加了
    j=`expr $i + $j`
done

echo $j

打包命令

#把当前文件夹里所有文件打包为all.tgz
tar czf all.tgz * 

循环用例

#!/bin/bash

#find寻找
for i in `find . -name "*.sh"`; do
    #
    echo $I
    #tar -czf压缩
    tar -czf all/all.tgz $I
done

while循环


#!/bin/bash


I=0
#算术判断
while ((i<10)); do
    echo $I
    i=`expr $i + 1`
done

echo $I
I=0
#命令判断
while [[ $i -lt 10 ]]; do
    echo $I
    i=`expr $i + 1`
done

注意:命令判断语句[[后面必须有空格,否则会报错。

读取文件

#!/bin/bash
#read为读取
while read line
do
    echo $line
done<tar.sh

判断语句if

#!/bin/bash 

num1=10
num2=20

#判断后的语句必须有tab键输入,不能是空格,也不能定格写,否则会报错
if((num2>num1));then
    echo "num2>num1"
fi

if(($1>$2));then
    echo "first > second"
else
    echo "first < second"
fi


逻辑运算符

-f 判断文件是否存在
-d 判断目录是否存在
-eg 等于 整形比较
-ne 不等于
-le 小于
-ge 大于或等于
-a 双方都成立
-o 单方成立
-z 是否是空字符串

#!/bin/bash
#通过-d 判断是否存在目录,!为取反
if [[ ! -d hujun1 ]]; then
    # mkdir 为创建目录,-p为依次创建
    echo "mkdir hujun"
    mkdir -p hujun1 hujun2
else
    echo "存在该目录"
fi

#-f判断文件是否存在
if [[ -f $1 ]]; then
    echo "该文件存在"
    #cat 为打印整个文件
    cat $1
else
    echo "该文件不存在"
fi

Shell算术运算类别:
算数运算符、关系运算符、布尔运算符、字符串运算符、文件测试运算符。

算术运算符

算数运算符

关系运算符

关系运算符

布尔运算符

布尔运算符

逻辑运算符

逻辑运算符

字符串运算符

字符串运算符

文件测试运算符

文件测试运算符

算术运算

算术运算方式
#!/bin/bash

#四种算术运算方式

r=$(( 4 + 5 ))
echo $r

r=$[ 4 + 5 ]
echo $r

let r=r+1
echo $r

r=`expr $r + 1`
echo $r

字符串运算符

#if后面的[ 需要有空格,否则会报错
if [ -z $1 ];then
    echo "输入为空"
fi

文件描述符

描述符

重定向

重定向
#0是文件描述符里的屏幕,< 为重定向符
#这句话意思就是,将 if.sh文件输出到屏幕上显示
cat 0< if.sh

#将字符串输入到文件test里
echo hello > test

相关文章

网友评论

      本文标题:Android NDK - shell语法

      本文链接:https://www.haomeiwen.com/subject/vfuyictx.html