Вам нужно что-то вроде: -
CP() { [ $# == 1 ] && cp "$@" . || cp "$@"; } alias cp=CP
Они могут быть добавлены, ~/.bashrc
если вы хотите полупостоянное изменение.
Обратите внимание, что псевдоним не будет работать в скрипте: если вам нужно изменение, которое будет работать в скриптах, после проверки местоположения реального в cp
первую очередь, вы можете использовать личный $HOME/bin
каталог во главе вашего $PATH
списка и в нем создать исполняемый скрипт cp
содержащий: -
/bin/bash [ $# == 1 ] && /bin/cp "$@" . || /bin/cp "$@"
Вам нужно будет добавить export PATH=$HOME/bin:$PATH
в~/.bashrc
Также обратите внимание, что любые параметры перед первым файлом приведут к аннулированию теста для одного параметра. Вам нужно будет отсканировать параметры в функции, чтобы проверить, не находятся ли параметры, начиная с -
остановки --
, а затем убедиться, что остался только один параметр.