Mam na przykład funkcję bash (lub alias) function install() {sudo apt-get install $@}
. Podczas uruchamiania polecenia install dicelab
, to, czego się spodziewałem, zostanie uruchomione sudo apt-get install dicelab
. Gdzie mogę zobaczyć, co faktycznie uruchomiła powłoka? Chciałbym się upewnić, że moje bardziej skomplikowane aliasy działają zgodnie z oczekiwaniami.
"$@"
, argumenty z białymi lub globalnymi znakami spłoną inaczej.
$@
część twojego aliasu? Pamiętaj, że aliasy tak naprawdę nie obsługują argumentów, które rozwiną się do parametrów pozycyjnych (jeśli istnieją) kontekstu wywołującego alias. Zwykły sposób działaniasomealias some args
polega po prostu na rozszerzeniu aliasu i pozostawieniu argumentów do naśladowania. Jeśli naprawdę chcesz mieć dostęp do argumentów, użyj funkcji i"$@"