Powiedzmy, że chcę zmodyfikować oryginalne zachowanie ls
narzędzia w ten sposób:
$ ls
Hello World
file1 file2 ...
W jaki sposób mogę to zrobić?
Podczas uruchamiania ls
chciałbym uruchomić inne polecenie, powiedzmy echo "Hello World!"
.
Szybkim rozwiązaniem, które widzę, jest użycie aliasu:
alias orig_ls="ls"
alias ls='echo "Hello World!"'
Jednak nie jest to realne rozwiązanie, ponieważ kiedy uruchomię orig_ls
, wyświetli "Hello World!"
.
bash
shell
command-line
alias
Ionică Bizău
źródło
źródło
Odpowiedzi:
Czasami alias nie jest wystarczająco silny, aby łatwo robić to, co chcesz, więc oto sposób, aby ich nie używać.
W niektórych plikach pozyskiwanych podczas uruchamiania powłoki (np.
.bashrc
) Dodaj następującą funkcję:W przeciwieństwie do aliasu funkcja może się powtarzać. Dlatego
command ls
jest używany zamiastls
; mówi twojej powłoce, aby użyła rzeczywistejls
zamiast właśnie zdefiniowanej funkcji.źródło
command
alternatywa dla OS X?command
nie zadziałało: / Nie mam pojęcia i nie mam komputera Mac, z którym można by to przetestować, przepraszam.Nie zapomnij zadzwonić
ls
:źródło
&
ale nie rozumiem, z czego się wywnioskujesz .