Você precisa de algo como: -
CP() { [ $# == 1 ] && cp "$@" . || cp "$@"; }
alias cp=CP
Estes podem ser adicionados a ~/.bashrc
se você quiser uma alteração semipermanente.
Observe que um alias não funcionará em um script: se você precisar de uma alteração que funcionará em scripts, depois de verificar a localização do cp
real primeiro, você poderá usar um diretório $HOME/bin
privado no início sua lista $PATH
e nela crie um script executável cp
contendo: -
/bin/bash
[ $# == 1 ] && /bin/cp "$@" . || /bin/cp "$@"
Você precisará adicionar export PATH=$HOME/bin:$PATH
a ~/.bashrc
Note também que quaisquer opções antes do primeiro arquivo invalida o teste para um único parâmetro. Você precisará varrer os parâmetros na função para verificar os parâmetros que não começam com -
, parar o teste em --
e depois verificar se resta apenas um parâmetro.