Bash无法访问返回代码

时间:2017-06-29 17:05:25

标签: bash

考虑函数内的以下代码片段:

class Box{
    private Box nestedBox;
    public Box(){

    }
    public Box(Box nestedBox){
        this.nestedBox = nestedBox;
    }
}
public class Main {
    public static void main(String[] args) {
        int numOfBoxes = 4;
        Box nestedBox = null;
        for(int i = 0; i < numOfBoxes; i++){
            nestedBox = new Box(nestedBox);
        }
    }
}

我遇到的问题是我无法看到如何访问 lsblk 命令的返回码。我可以检测命令是否失败但我无法访问实际的返回码。谁能建议我怎么做?

1 个答案:

答案 0 :(得分:0)

您可以将对lsblk的呼叫拆分为单独的命令。然后,您可以从$?获得退出状态。

l=$(lsblk -lno MOUNTPOINT "$DEVPATH")
if (( !$? )); then
  for f in $l; do
    // etc.

实际上,您似乎也可以使用带有赋值的条件:

if l=$(lsblk...); then