不同的数字范围作为Bash中的变量

时间:2016-05-11 12:21:59

标签: arrays bash loops

我一直想知道这一段时间,但我经常遇到的情况是我有以下约定命名的文件夹或文件:

  1. 1R143D1B
  2. 2R143D1B
  3. 3R243D1B
  4. 4R343D1B
  5. 5R343D1B
  6. 第一个数字(1-5)表示例如扫描。第二个数字紧跟在' R' (1,1,2,3)代表一天。 43D1B是一个主题编号。

    我经常处于需要进入多个主题文件夹的情况下(例如,命名约定中唯一改变的是' 43D1B'以及其他主题值,例如' 44U2A& #39;)以这样的名字命名,并且经常认为会有类似于'的方式。循环,所以我可以编写一些代码,允许我生成这些值而无需对cp(或任何其他)命令进行硬编码。

    因此,而不是硬编码,例如,cp /home/${var1}R${var2}${subject}/${var1}R${var2}${subject}.file /newfolder这样做50次以上我希望能够使第一个值(扫描值)成为for循环或数组变量,而第二个(day value)值另一个变量,所以我可以做public static boolean checkInternetConnection(Context context) { try { ConnectivityManager connec = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); android.net.NetworkInfo wifi = connec.getNetworkInfo(ConnectivityManager.TYPE_WIFI); android.net.NetworkInfo mobile = connec.getNetworkInfo(ConnectivityManager.TYPE_MOBILE); if ((wifi != null && wifi.isConnected()) || (mobile != null && mobile.isConnected())) { return true; } log("Connection", "Connection failed"); return false; } catch (Exception e) { // TODO: handle exception e.printStackTrace(); return false; } }

    之类的事情

    但每当我从逻辑上思考这个问题时,我都不确定最好的方法,因为上面的惯例是这样设定的 - 扫描1& 2总是在第1天,扫描3总是在第2天,扫描4& 5总是在第3天,因此数字1-5并不都与数字1-3相关联,因此我不知道循环是否有效,我不确定其他什么是合适的。 任何人都可以采用另一种方式来解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

为循环使用更好的变量集,例如1R1 2R1 3R2 4R3 5R3