Como chamar apenas uma função do script de texto?

2

Eu tenho um arquivo de texto com muitas funções nele. por exemplo:

# fisrt function
# runs update and upgrade
    function upug() {
        sudo apt-get update && sudo apt-get upgrade
    }

# second function
# find out the processes running that use the most memory
    function memusage() {
        ps aux | sort -nrk 4 | head
    }
# third function
# install package
    function ipkg() {
        sudo apt-get install
    }
[...]

Agora, quero poder usar essas funções como algo semelhante, como segue no terminal:

  • com a execução de upug em chamadas de terminal function upug()

    user@test-pc:~$ upug 
    
  • com a execução de memusage em chamadas de terminal function memusage()

    user@test-pc:~$ memusage
    
  • com unning ipkg package_Name chamadas function ipkg()

    user@test-pc:~$ ipkg package_Name
    

Eu criei um alias para cada um desses comandos com nomes de função. Agora pergunta é como eu posso chamar essas funções com nome de alias?

    
por αғsнιη 31.08.2014 / 12:32

2 respostas

1

Se eu fosse você, colocaria as duas funções e os aliases em ~/.bash_aliases (veja por Sylvain Pineau 31.08.2014 / 13:54

1

Finalmente, encontrei uma solução fácil. Eu salvei o arquivo de texto com o nome my_funcs e ele está no meu diretório pessoal. então eu chamo uma função com o seguinte comando:

source file_Name; func_Nmae [extra_Parameters]

por exemplo, para usar a função ipkg e instalar qualquer pacote Eu usei um comando simples como o comando abaixo:

source my_funcs; ipkg package_Nmae

O resultado da execução de source my_funcs; ipkg vlc é o seguinte:

kasiya@kasiya-pc:~$ source my_funcs; ipkg vlc

[sudo] password for kasiya: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
[...]

E eu corro alias go='source my_funcs;' no terminal para adicionar este comando ao go como um alias no arquivo ~/.bashrc e da próxima vez que eu usar o comando curto para instalar o pacote ou usar qualquer função:

go function_Name [parameters]

LEGAL!

    
por αғsнιη 10.09.2014 / 08:16