Cile में बैश वापसी त्रुटि…क्यों?

प्रोग्रामिंग


हाय दोस्तों, मेरे पास बैश में एक फ़ंक्शन है, मेरे लिए यह सही है लेकिन मुझे नहीं पता कि मुझे बताना क्यों जारी रखें

./BBSW.sh: 17: Syntax error: Bad for loop variable

क्या कोई मुझे पुष्टि कर सकता है कि यह ठीक है या नहीं?

urlencode() {
    local string="$1"
    local length="${#string}"
    local result=""

    # Verifica se la sintassi del ciclo for è supportata
    if [ -z "$(bash -c 'for ((i=0; i<1; i++)); do echo "OK"; done' 2>/dev/null)" ]; then
        echo "Errore: La sintassi del ciclo for non è supportata in questa shell."
        return 1
    fi

    for ((i = 0; i < length; i++)); do
        local c="${string:$i:1}"
        case $c in
            [-_.~a-zA-Z0-9]) result+="$c" ;;
            *) result+="%$(printf '%02X' "'$c")" ;;
        esac
    done

    echo "$result"
}

मेरा संस्करण है

 bash --version
GNU bash, version 5.1.16(1)-release (x86_64-pc-linux-gnu)
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

i use linux mint 64 last version 

मैंने क्या प्रयास किया है:

मैं भी इस मोड में प्रयास करता हूं लेकिन कुछ नहीं

urlencode() {
    local string="$1"
    local length="${#string}"
    local result=""

    for (( i = 0; i < length; i++ )); do
        local c="${string:$i:1}"
        case $c in
            [-_.~a-zA-Z0-9]) result+="$c" ;;
            *) result+="%$(printf '%02X' "'$c")" ;;
        esac
    done

    echo "$result"
}

समाधान 1

コメント

タイトルとURLをコピーしました