cat << EOF> ~ / .zshrc не может отследить оригинальный контент в файл - PullRequest
0 голосов
/ 21 октября 2019

Я собирался выложить большой фрагмент кода оболочки в файл ~ / .zshrc. я ожидал, что исходный контент будет показан в файле ~ / .zshrc, но что мне нравится в этом файле, так это результат «рендеринга» контента. Я ожидал исходное содержимое файла.

Я пытался добавить одну цитату из всего содержимого. но это не работает, потому что в контенте есть как одинарные, так и двойные кавычки.

ниже приведен мой фрагмент кода:

  cat << EOF > ~/.zshrc
zsh_wifi_signal(){
        local output=$(/System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources/airport -I)
        local airport=$(echo $output | grep 'AirPort' | awk -F': ' '{print $2}')

        if [ "$airport" = "Off" ]; then
                local color='%F{black}'
                echo -n "%{$color%}Wifi Off"
        else
                local ssid=$(echo $output | grep ' SSID' | awk -F': ' '{print $2}')
                local speed=$(echo $output | grep 'lastTxRate' | awk -F': ' '{print $2}')
                local color='%F{black}'

                [[ $speed -gt 100 ]] && color='%F{black}'
                [[ $speed -lt 50 ]] && color='%F{red}'

                echo -n "%{$color%}$speed Mbps \uf1eb%{%f%}" # removed char not in my PowerLine font
        fi
}
EOF

что в ~ / .zshrcчто-то вроде:

zsh_wifi_signal(){
    local output= agrCtlRSSI: -53
    agrExtRSSI: 0
    agrCtlNoise: -92
    agrExtNoise: 0
    state: running
    op mode: station
    lastTxRate: 702
    maxRate: 867
    lastAssocStatus: 0
    802.11 auth: open
    link auth: wpa2-psk
    BSSID: 8c:a6:df:18:ac:5f
    SSID: 99cloud_5G
    MCS: 8
    channel: 149,80
    local airport=
    if [ "" = "Off" ]; then
            local color='%F{black}'
            echo -n "%{%}Wifi Off"
    else
            local ssid=
            local speed=
            local color='%F{black}'

            [[  -gt 100 ]] && color='%F{black}'
            [[  -lt 50 ]] && color='%F{red}'

            echo -n "%{%} Mbps \uf1eb%{%f%}" # removed char not in my PowerLine font
    fi

, что кажется оправданным.

Я ожидал чего-то подобного ниже в файле ~ / .zshrc

zsh_wifi_signal(){
        local output=$(/System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources/airport -I)
        local airport=$(echo $output | grep 'AirPort' | awk -F': ' '{print $2}')

        if [ "$airport" = "Off" ]; then
                local color='%F{black}'
                echo -n "%{$color%}Wifi Off"
        else
                local ssid=$(echo $output | grep ' SSID' | awk -F': ' '{print $2}')
                local speed=$(echo $output | grep 'lastTxRate' | awk -F': ' '{print $2}')
                local color='%F{black}'

                [[ $speed -gt 100 ]] && color='%F{black}'
                [[ $speed -lt 50 ]] && color='%F{red}'

                echo -n "%{$color%}$speed Mbps \uf1eb%{%f%}" # removed char not in my PowerLine font
        fi
}

я также началпроблема в myrep

...