我想自动化对齐和签名 APK(Android 应用程序)的过程。我在 VSCODE 中使用 git bash 作为终端。
为此,我将所需的命令连接到 shell 脚本中,但 windows 变量出现了问题。由于 android SDK 会自动安装,因此C:\Users\myUserName\AppData\Local
我可以使用%LocalAppData%
CMD 访问它,但不能在 bash 中访问它,因为它会抛出:
$ %LocalAppData%
bash: fg: %LocalAppData%: no such job
当然,我只会写下完整的路径,但这会使我的脚本在我的笔记本电脑和/或我编写脚本的地方以外的另一台机器上变得毫无用处。
有没有办法%LocalAppData%
用 git bash 来访问?
答案1
有没有办法%LocalAppData%
用 git bash 来访问?
假设 git bash 将 Windows 环境变量映射到 bash 变量,那么您可以使用 访问它们$VARIABLENAME
。
Cygwin bash 示例:
$ echo $LOCALAPPDATA
C:\Users\DavidPostill\AppData\Local
要列出环境变量,请使用env
:
$ env
USERDOMAIN=Hal
OS=Windows_NT
COMMONPROGRAMFILES=C:\Program Files\Common Files
PROCESSOR_LEVEL=6
PSModulePath=C:\Program Files (x86)\PowerShell Community Extensions\Pscx3\;C:\Program Files\WindowsPowerShell\Modules;C:\Windows\system32\WindowsPowerShell\v1.0\Modules
CommonProgramW6432=C:\Program Files\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
FP_NO_HOST_CHECK=NO
LANG=en_US.UTF-8
TZ=Europe/London
HISTCONTROL=ignoredups,ignoredups
DISPLAY=:0.0
...
进一步阅读
- Linux 的 Bash 命令行的 AZ 索引- 与 Bash 命令行相关的所有事物的绝佳参考。
- 环境- 显示、设置或删除环境变量,在修改后的环境中运行命令。
- shell 变量- 您可以在 bash 中使用变量,就像在任何编程语言中一样。没有数据类型,因此变量可以包含数字或字符串。
答案2
我想补充的是有用的实用程序“cygpath“可以应用 cygpath“$LOCALAPPDATA”获取 %LocalAppData% 的 cygwin 友好路径(我知道您提到了 git bash,而不是 cygwin,因此这可能不完全适用)