Adicionando algum alias com o script bash e obtendo o arquivo .bashrc de dentro do script

0

Oi eu estou tentando automatizar algumas tarefas de pós-instalação e tê-las documentadas na minha conta do github. É por isso que estou escrevendo um script para instalar alguns pacotes adicionais e adicionar alguns novos alias ao arquivo .bashrc e eu quero criar o arquivo .bashrc posteriormente. Este é o script em si:

#!/bin/bash

# This script was inspired by the post of Remy Sharp: https://remysharp.com/2018/08/23/cli-improved

bashrc_loc="$HOME/.bashrc"

package_installation() {
        # Updating, upgrading and installing some additional packages
        sudo apt update
        sudo apt-get upgrade -y
        sudo apt-get install ncdu \
                tldr \
                ag \
                bat \
                prettyping \
                fzf \
                csvkit -y
        sudo apt-get autoremove -y
}

alias_add() {
        # Adding the alias in the ~/.bashrc file
        sed -i "\$aalias help='tldr'" "$bashrc_loc"
        sed -i "\$aalias du='ncdu --color dark -rr -x --exclude .git --exclude node_modules'" "$bashrc_loc"
        sed -i "\$aalias top='sudo htop'" "$bashrc_loc"
        sed -i "\$aalias preview=\"fzf --height 40% --preview 'if file -i {}|grep -q binary; then file -b {}; else bat --color \"always\" --line-range :40 {}; fi'\"" "$bashrc_loc"
        sed -i "\$aexport FZF_DEFAULT_OPTS=\"--bind='ctrl-o:execute(code {})+abort'\"" "$bashrc_loc"
        sed -i "\$aalias ping='prettyping --nolegend'" "$bashrc_loc"
        sed -i "\$aalias cat='bat'" "$bashrc_loc"
        source "$bashrc_loc"
}

Então, eu queria saber se é possível adicionar source .bashrc de dentro do script porque ele está tentando executar o arquivo e, se eu adicionar essa linha à parte inferior, o shellcheck está relatando ^-- SC1090: Can't follow non-constant source. Use a directive to specify location.

    
por Georgе Stoyanov 31.08.2018 / 12:23

0 respostas