使用以下命令构建 AOSP 9.0.0_r30 源时:
$ make clean
$ make showcommands -j8 > ~/BuildAndroid.txt
~/BuildAndoird.txt中有这样的命令行:
[ 58% 62374/106553] PWD=/proc/self/cwd prebuilts/clang/host/linux-x86/clang-4691093/bin/clang++ ........
我想这是一个bash命令,但为什么在“prebuilts/clang/host/linux-x86/clang-4691093/”之前有“PWD=/proc/self/cwd”和一个空格(不是;或&&) bin/clang++"?这是什么意思,我认为这对于bash来说是不合法的,因为空格意味着后面的文本是参数而不是命令。
另一个问题是,“/proc/self/cwd”是什么,它是一个标准的proc节点吗?
一些实验:
$ VAR=123
$ VAR=456 echo $VAR
123
$ echo $VAR
123
所以这确实是合法的,但是什么意思呢?
最佳答案
执行命令
prebuilts/clang/host/linux-x86/clang-4691093/bin/clang++
但是在为此命令设置环境时,它将环境变量PWD
设置为值/proc/self/cwd
。请注意,这仅影响 clang++
进程的环境,而不影响 shell 脚本的环境/变量空间。
关于bash - 命令 "PWD=/proc/self/cwd another_executable "是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55351078/