2013-07-05 125 views
1

我该如何获得$?由adb shell?在adb shell获取命令结果

我想检查“adb shell mkdir/xxx”的结果。

我用adb shell和faild执行了mkdir命令,但是$的结果呢? !为0

$ adb shell mkdir /xxx 
mkdir failed for /xxx, Read-only file system 
$ adb shell echo $? 
0 

$ adb shell "mkdir /xxx; echo $?" 
mkdir failed for /xxx, Read-only file system 
0 

我想从ADB shell命令得到类似下面的结果(!不是交互模式)

$ adb shell 
[email protected]:/ $ mkdir /xxx 
mkdir failed for /xxx, Read-only file system 
255|[email protected]:/ $ echo $? 
255 

回答

3

你应该这样做:

$ adb shell 'mkdir /xxx; echo $?' 
mkdir failed for /xxx, Read-only file system 
255 

注意单引号,否则$?在达到adb之前被评估。

+0

是的,你只是遇到了shell扩展规则的问题。检查[扩展手册页](http://www.gnu.org/software/bash/manual/html_node/Shell-Parameter-Expansion.html) – mateor

+0

谢谢您的回答!我能做到这一点 :) –