As a naive noob, I created several bash aliases intended to accept arguments, and they work exactly as intended. I tried to make a few more such aliases, however, and these would not work as intended.
This problem led me here, where I learned that bash aliases do not accept arguments. Instead, you must create a function. For example see here or here.
So, assuming the "bash aliases do not accept arguments" consensus is correct, why do all of these work?
alias pacss='pacman -Ss '
alias pacs='sudo pacman -S '
alias yausnc='yaourt -S --noconfirm '
When I say these "work" I mean that, e.g., typing 'pacs package' results in prompting me for password, prompting for confirmation, then retrieving and installing package.
So, why do these aliases work? Are the terms they accept not technically considered 'arguments'? Is it an idiosyncrasy of Arch (or Manjaro, which I am using)? A hole in the space-time continuum?
Any clarification shall be appreciated.
EDIT: Thanks for the answers explaining these are not calling for arguments. I don't quite understand how my first examples are different from the following attempted alias, which does not work:
alias lping='ping 192.168.1.'
This fails because ping executes without appending the number I type. My intent was to be able to enter e.g. lping 123 and have bash execute "ping 192.168.1.123" but instead it says "unknown host 192.168.1."