Ошибка с sed на Mac OS X недопустимая команда u

Вот решение, вдохновленное ответом Soubunmei:

#!/bin/sh

ActiveWindowManagerPID()
{
    local windowManager="$1"

    local windowManagerPIDs="$(pidof "$windowManager")"

    local displayNumber="$(echo $DISPLAY \
        | awk 'BEGIN { FS = "[:.]" } { print $2 }')"

    ps e -p "$windowManagerPIDs" \
        | awk -v n="$displayNumber" \
            '$0 ~ " DISPLAY=:" n "[\n .]" { print $1 }'
}

kill "$(ActiveWindowManagerPID blackbox)"
0
13.05.2016, 13:16
1 ответ

newline для sed ppend - разрыв это, таким образом, вы имеете к обратной косой черте newline или sustitute символ \n :

sed -i '' '/user_pref("mail.identity.id1.reply_on_top", 1);/ a\
user_pref("mail.identity.id1.sig_file", "/Users/illias.seba/Library/Mail/V2/MailData/Signatures/signature.html");\
user_pref("mail.identity.id1.sig_file-rel", "[ProfD]../../../Mail/V2/MailData/Signatures/signature.html");\
' ~/Library/Thunderbird/Profiles/*.default/prefs.js

или

sed -i '' '/user_pref("mail.identity.id1.reply_on_top", 1);/ a\
user_pref("mail.identity.id1.sig_file", "/Users/illias.seba/Library/Mail/V2/MailData/Signatures/signature.html");\nuser_pref("mail.identity.id1.sig_file-rel", "[ProfD]../../../Mail/V2/MailData/Signatures/signature.html");\n' ~/Library/Thunderbird/Profiles/*.default/prefs.js
1
28.01.2020, 02:51

Теги

Похожие вопросы