Gat*_*ito 0 bash c environment-variables
我试着去理解为什么从stlib.h GETENV用于返回非空PATH
但不喜欢我的自定义的变量ANDROID_PRODUCT_OUT
。我认为与此有关:
ANDROID_PRODUCT_OUT=test
printenv | grep ANDR
#nothing
Run Code Online (Sandbox Code Playgroud)
为什么我定义的变量不会出现在printenv
? 这与为什么getenv("ANDROID_PRODUCT_OUT")==NULL
即使变量是在执行二进制文件的同一个 shell 中定义的?
通过写作
ANDROID_PRODUCT_OUT=test
Run Code Online (Sandbox Code Playgroud)
您只ANDROID_PRODUCT_OUT
在当前 shell 中设置 shell 变量。如果您想让它成为一个环境变量,可用于分叉进程(即,您从该 shell 执行的任何命令),您需要导出该变量:
export ANDROID_PRODUCT_OUT
Run Code Online (Sandbox Code Playgroud)
您还可以在一行中设置变量并将其标记为自动导出:
export ANDROID_PRODUCT_OUT=test
printenv | grep ANDR # outputs: ANDROID_PRODUCT_OUT=test
Run Code Online (Sandbox Code Playgroud)
如果您不想为所有分叉程序自动导出变量,而只想将其提供给./myprogram
您要执行的特定程序(例如,),您可以这样做:
ANDROID_PRODUCT_OUT=test ./myprogram
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
48 次 |
最近记录: |