דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תוכנה
  3. עזרה בתיקון קטע קוד BASH

עזרה בתיקון קטע קוד BASH

מתוזמן נעוץ נעול הועבר תוכנה
4 פוסטים 2 כותבים 232 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • A0533057932A מנותק
    A0533057932A מנותק
    A0533057932
    כתב ב נערך לאחרונה על ידי A0533057932
    #1

    תיקון קוד YML לגיטאהב

    אני לא יודע מה השפה האמיתי שהקובץ נכתב בא לכן אינני מציין את שם השפה
    כפי הנראה הקוד הוא BASH
    הקטע לתיקון הוא זה

              if [[ "$release_t" = "retail" ]]; then
                name3="-retail"
              if [[ "$release_t" = "release preview" ]]; then
                name3=-"release-preview"
              if [[ "$release_t" = "insider slow" ]]; then
                name3="-insider-slow"
              if [[ "$release_t" = "insider fast" ]]; then
                name3="-insider-fast"
              fi
    

    הוא משולב בקטע הבא

          - name: Generate artifact name
            run: |
              variant="${{ github.event.inputs.gapps_variant }}"
              release_t="${{ github.event.inputs.release_type }}"
              root="${{ github.event.inputs.root_sol }}"
              if [[ "$root" = "none" ]]; then
                name1=""
              elif [[ "$root" = "" ]]; then
                name1="-with-magisk"
              else
                name1="-with-${root}"
              fi
              if [[ "$variant" = "none" || "$variant" = "" ]]; then
                name2="-NoGApps"
              else
                name2="-GApps-${variant}"
              fi
              if [[ "$release_t" = "retail" ]]; then
                name3="-retail"
              if [[ "$release_t" = "release preview" ]]; then
                name3=-"release-preview"
              if [[ "$release_t" = "insider slow" ]]; then
                name3="-insider-slow"
              if [[ "$release_t" = "insider fast" ]]; then
                name3="-insider-fast"
              fi
              echo "artifact_name=WSA${name1}${name2}_${{ env.WSA_VER }}_${{ matrix.arch }}_${{ env.WSA_REL }}_${name3}" >> $GITHUB_ENV
    

    המקור לפני ההוספה שלי הוא זה

          - name: Generate artifact name
            run: |
              variant="${{ github.event.inputs.gapps_variant }}"
              root="${{ github.event.inputs.root_sol }}"
              if [[ "$root" = "none" ]]; then
                name1=""
              elif [[ "$root" = "" ]]; then
                name1="-with-magisk"
              else
                name1="-with-${root}"
              fi
              if [[ "$variant" = "none" || "$variant" = "" ]]; then
                name2="-NoGApps"
              else
                name2="-GApps-${variant}"
              fi
              echo "artifact_name=WSA${name1}${name2}_${{ env.WSA_VER }}_${{ matrix.arch }}_${{ env.WSA_REL }}" >> $GITHUB_ENV
    

    הקטע שממנו אמור לשאוב את המשתנה הוא הקטע הבא

          release_type:
            description: "WSA release type"
            required: true
            default: "retail"
            type: choice
            options:
            - retail
            - release preview
            - insider slow
            - insider fast
          magisk_apk:
            description: "Magisk version"
            required: true
            default: "stable"
            type: choice
            options:
            - stable
            - beta
            - canary
          gapps_variant:
            description: "Variants of gapps"
            required: true
            default: "none"
            type: choice
            options:
            - none
            - super
            - stock
            - full
            - mini
            - micro
            - nano
            - pico
            - tvstock
            - tvmini
          root_sol:
            description: "Root solution"
            required: true
            default: "magisk"
            type: choice
            options:
            - magisk
            - none
    
    

    השגיאה היא זאת

    
    Run variant=""
      variant=""
      release_t=""
      root=""
      if [[ "$root" = "none" ]]; then
        name1=""
      elif [[ "$root" = "" ]]; then
        name1="-with-magisk"
      else
        name1="-with-${root}"
      fi
      if [[ "$variant" = "none" || "$variant" = "" ]]; then
        name2="-NoGApps"
      else
        name2="-GApps-${variant}"
      fi
      if [[ "$release_t" = "retail" ]]; then
        name3="-retail"
      if [[ "$release_t" = "release preview" ]]; then
        name3=-"release-preview"
      if [[ "$release_t" = "insider slow" ]]; then
        name3="-insider-slow"
      if [[ "$release_t" = "insider fast" ]]; then
        name3="-insider-fast"
      fi
      echo "artifact_name=WSA${name1}${name2}_2203.40000.1.0_x64_Release-Nightly_${name3}" >> $GITHUB_ENV
      shell: /usr/bin/bash -e {0}
      env:
        WSA_VER: 2203.40000.1.0
        WSA_REL: Release-Nightly
    /home/runner/work/_temp/e34e0132-ac61-4067-8e7e-15f7ebb72607.sh: line 26: syntax error: unexpected end of file
    Error: Process completed with exit code 2.
    
    chvC תגובה 1 תגובה אחרונה
    0
    • chvC מנותק
      chvC מנותק
      chv
      השיב לA0533057932 ב נערך לאחרונה על ידי
      #2

      @A0533057932 זה לא פייתון, זה באש BASH,
      והשגיאה דיי פשוטה בסינטקס של התנאים שהכנסת.
      תסתכל איך צריך לכתוב בלוק נכון של if.
      אין כזה דבר רצף של כמה if באותו סטייטמנט. חובה לכתוב מייד בסוף ה-if סגירה לסטייטמנט (fi) ואז תוכל להמשיך לכתוב עוד בלוק וכו'

      בלוג | מייל

      A0533057932A תגובה 1 תגובה אחרונה
      3
      • A0533057932A מנותק
        A0533057932A מנותק
        A0533057932
        השיב לchv ב נערך לאחרונה על ידי
        #3

        @chv אמר בעזרה בתיקון קטע קוד (כנראה פייתון):

        @A0533057932 זה לא פייתון, זה באש BASH,
        והשגיאה דיי פשוטה בסינטקס של התנאים שהכנסת.
        תסתכל איך צריך לכתוב בלוק נכון של if.
        אין כזה דבר רצף של כמה if באותו סטייטמנט. חובה לכתוב מייד בסוף ה-if סגירה לסטייטמנט (fi) ואז תוכל להמשיך לכתוב עוד בלוק וכו'

        כוונתך לכתוב כך?

                  if [[ "$release_t" = "retail" ]]; then
                    name3="-retail"
                  elif [[ "$release_t" = "release preview" ]]; then
                    name3=-"release-preview"
                  elif [[ "$release_t" = "insider slow" ]]; then
                    name3="-insider-slow"
                  else [[ "$release_t" = "insider fast" ]];
                    name3="-insider-fast"
                  fi
        
        chvC תגובה 1 תגובה אחרונה
        0
        • chvC מנותק
          chvC מנותק
          chv
          השיב לA0533057932 ב נערך לאחרונה על ידי
          #4

          @A0533057932 אמר בעזרה בתיקון קטע קוד BASH:

          כוונתך לכתוב כך?

                    if [[ "$release_t" = "retail" ]]; then
                      name3="-retail"
                    elif [[ "$release_t" = "release preview" ]]; then
                      name3=-"release-preview"
                    elif [[ "$release_t" = "insider slow" ]]; then
                      name3="-insider-slow"
                    else [[ "$release_t" = "insider fast" ]];
                      name3="-insider-fast"
                    fi
          

          בהתחלה התבלבלתי, חשבתי לכתוב לך - לא, כי אז חלק מהתנאים בכלל לא ירוצו, כי הם elif היינו else - if כלומר רק אם התנאי שמקודם לא התקיים, אזי תתחיל תנאי נוסף if (מקווה שאני מובן).
          כי לא הבהרת שאתה כן רוצה לעשות תנאי שירוץ רק אם תנאי שלפניו לא התקיים.

          עכשיו הסתכלתי בקוד שלך ומשם הבנתי שזו הסיטואציה.

          בכל אופן יש לך טעות בסוף, אתה צריך גם שם לעשות עוד elif עם then אחרי התנאי.
          בקיצור:

          if [[ "$release_t" = "retail" ]]; then
              name3="-retail"
          elif [[ "$release_t" = "release preview" ]]; then
              name3="-release-preview"
          elif [[ "$release_t" = "insider slow" ]]; then
              name3="-insider-slow"
          elif [[ "$release_t" = "insider fast" ]]; then
              name3="-insider-fast"
          fi
          

          (תיקנתי לך גם typo בשורה הרביעית, המינוס יצא לך מהגרשיים)

          בלוג | מייל

          תגובה 1 תגובה אחרונה
          5

          בא תתחבר לדף היומי!
          • התחברות

          • אין לך חשבון עדיין? הרשמה

          • התחברו או הירשמו כדי לחפש.
          • פוסט ראשון
            פוסט אחרון
          0
          • דף הבית
          • קטגוריות
          • פוסטים אחרונים
          • משתמשים
          • חיפוש
          • חוקי הפורום