Alias um Comando para outro Comando

1

Estou tentando criar um alias no bash, por exemplo:

alias cat / home / arquivo = 'cat / home / thisfile'

Não sei por que isso não está funcionando. Eu tentei em todos os lugares para encontrar a resposta no google e pelo que eu posso dizer que este site receberá a resposta. -Janice

    
por Janice Young 08.01.2011 / 20:32

2 respostas

5

Você pode usar alias somente para comandos, não para seus argumentos.

Se você quiser que /home/file seja substituído por /home/thisfile , mas somente se for o primeiro argumento do comando cat , você pode definir uma função cat que testa seu argumento e chama o comando subjacente apropriadamente:

cat () {
  if [ "$1" = "/home/file" ]; then shift; set "/home/thisfile" "$@"; fi
  command cat "$@"
}

Mas duvido que seja o que você realmente quer, seria uma exigência estranha. A sugestão de Daniel Beck de um som simbólico está correta. Desde que você o rejeitou, você deve explicar mais do que você está tentando realizar. Talvez então as pessoas possam oferecer sugestões melhores.

    
por 08.01.2011 / 21:26
2

Você não pode ter um alias que contenha duas palavras, use uma função e use o awk para separar as capturas.

    
por 08.01.2011 / 20:39

Tags