Вот как я добавляю несколько псевдонимов к /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 и использовать другой способ, который также проверял бы, если псевдонимы уже есть, есть простое решение для этого?
Вы можете использовать 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
Вы можете использовать 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
Вы можете использовать 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