Добавьте несколько псевдонимов в псевдонимы /etc/bash.bashrc, если их еще нет

Вот как я добавляю несколько псевдонимов к /etc/bash.bashrc:

cat <<-"BASHRC" >> /etc/bash.bashrc alias rss="/etc/init.d/php*-fpm restart && systemctl restart nginx.service" alias brc="nano /etc/bash.bashrc" alias www="cd /var/www/html" alias imb="bash /opt/imb.sh" alias nwsm="bash /opt/nwsm.sh" BASHRC source /etc/bash.bashrc

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

-1
задан 11 January 2018 в 08:19

3 ответа

Вы можете использовать grep, чтобы проверить, существует ли линия, прежде чем добавлять ее в /etc/bash.bashrc.

#!/bin/bash
cat > /tmp/aliases.tmp << 'BASHRC'
    alias rss='/etc/init.d/php*-fpm restart && systemctl restart nginx.service'
    alias brc='nano /etc/bash.bashrc'
    alias www='cd /var/www/html'
    alias imb='bash /opt/imb.sh'
    alias nwsm='bash /opt/nwsm.sh'
BASHRC
for i in `cat /tmp/aliases.tmp`; do
    [[ grep "$i" /etc/bash.bashrc ]] || echo "$i" >> /etc/bash.bashrc
rm /tmp/aliases.tmp
source /etc/bash.bashrc
1
ответ дан 22 May 2018 в 15:36

Вы можете использовать grep, чтобы проверить, существует ли линия, прежде чем добавлять ее в /etc/bash.bashrc.

#!/bin/bash cat > /tmp/aliases.tmp << 'BASHRC' alias rss='/etc/init.d/php*-fpm restart && systemctl restart nginx.service' alias brc='nano /etc/bash.bashrc' alias www='cd /var/www/html' alias imb='bash /opt/imb.sh' alias nwsm='bash /opt/nwsm.sh' BASHRC for i in `cat /tmp/aliases.tmp`; do [[ grep "$i" /etc/bash.bashrc ]] || echo "$i" >> /etc/bash.bashrc rm /tmp/aliases.tmp source /etc/bash.bashrc
1
ответ дан 17 July 2018 в 23:22

Вы можете использовать grep, чтобы проверить, существует ли линия, прежде чем добавлять ее в /etc/bash.bashrc.

#!/bin/bash cat > /tmp/aliases.tmp << 'BASHRC' alias rss='/etc/init.d/php*-fpm restart && systemctl restart nginx.service' alias brc='nano /etc/bash.bashrc' alias www='cd /var/www/html' alias imb='bash /opt/imb.sh' alias nwsm='bash /opt/nwsm.sh' BASHRC for i in `cat /tmp/aliases.tmp`; do [[ grep "$i" /etc/bash.bashrc ]] || echo "$i" >> /etc/bash.bashrc rm /tmp/aliases.tmp source /etc/bash.bashrc
1
ответ дан 24 July 2018 в 13:53

Другие вопросы по тегам:

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