cat << EOF>〜/ .zshrc无法将原始内容隐藏到文件

时间:2019-10-21 03:11:47

标签: shell cat

我打算将一大段shell代码放在〜/ .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

中发布问题

0 个答案:

没有答案