linux文件的定义变量,Shell语法(1)--变量的定义和使用

本文介绍了Shell语法在Android底层库编译中的关键作用,包括使用Shell脚本独立编译第三方库并打包到APK,以及解决底层问题。通过WinSCP+Putty连接Linux服务器进行操作,文章详细阐述了Shell的基本使用,如变量声明、环境变量、命令执行状态检查等,并展示了如何处理执行权限问题。此外,还解释了参数传递和特殊变量的含义,为Android开发者提供实用指导。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简述

Shell语法在编译Android底层库时,经常会用到,是用户使用 Linux的桥梁。

在Android开发中使用shell能够 :

对于底层开发有着更多的解决途径

能独立编译任意的第三方库,并将它打包到APK中

覆盖大多数工作APK编译脚本

使用shell需要我们提前准备好一台linux的服务器,连接linux服务器可以使用:winSCP+putty的方式(其它自行百度);

备注:新手执行shell命令时可能会遇到的问题:

①执行ls没反应--原因:可能是因为该目录下没有文件。

②执行./demo.sh(文件名为demo)时候提示:Permission denied(没有权限),可以执行chmod 777 demo.sh给最高权限,也可以将文件开头写成#!/bin/sh 通过sh 文件名执行,这样不需要给每个文件都指定权限

下面简单介绍基本使用 :

shell中#号表示注释().sh文件的第一行除外)

执行echo $BASH

输出/bin/bash,确认是shell的bash环境

执行vim demo.sh

创建一个shell可执行文件,第一行固定写

#!/bin/bash

注:键盘的insert键编辑文件,保存退出点esc退出输入状态后 输入 :wq 回车(和git的保存退出一样)

#!/bin/bash

#第一行固定写法,后面#号表示注释,shell的输出用echo,下面表示输出test

echo "test"

然后通过执行./demo.sh执行文件:

控制台输出test

如控制台提示Permission denied看上述备注②

局部变量变量

shell是典型的弱类型语言,示例:

#!/bin/bash

# 声明变量A=10,等号左右两边不能有空格!!!!!!

A=10

#$引用变量

echo $A

执行./demo.sh,控制台输出10

环境变量

类比Java中的环境变量

内置环境变量例如: PWD表示当前目录

#!/bin/bash

#输出当前路径

echo $PWD

执行输出/root表示当前在/root文件夹

内置的环境变量可以直接在命令行调用,命令行输入pwd一样输出/root

系统环境变量有以下参数:

333e0f03e934

参数

举个栗子:

我们将demo.sh修改如下:

#!/bin/bash

#$0表示当前程序名称

echo $0

#$1传入的第一个参数

echo $1

#$2传入的第二个参数

echo $2

执行./demo.sh 参数1 参数2,传递参数一定要加空格,多个参数空格隔开

控制台输出

./demo.sh

参数1

参数2

打印了当前程序名,和入参,$n如果不传参数,不会有内容输出

看一下剩下的参数含义

math?formula=%3F%2C*,$#,修改demo.sh如下:

#!/bin/bash

echo $0

echo $1

echo $2

echo "-------------"

echo "\$?表示: $?"

echo "\$*表示: $*"

echo "\$#表示: $#"

执行./demo.sh 参数1 参数2

输出:

./demo.sh

参数1

参数2

-------------

$?表示: 0

$*表示: 参数1 参数2

$#表示: 2

其中: $?表示上一个命令执行是否成功0表示成功,其它表示失败,很常用~

$* 表示所有参数

$# 表示参数的个数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值