По крайней мере следующее:
Опции команды: foo --bar
Стандартный ввод: foo | bar
или bar
Файл(ы): foo *.*
(или открыв файл(ы) с помощью кода в foo
) †
Экспорт среды: export foo=bar; baz
Окружение (без экспорта): foo=bar baz
или env foo=bar baz
ЗДЕСЬ doc: foo
HERE string: foo
Сигналы kill -SIGUSR1 $procid
Целый ряд межпроцессных взаимодействий, таких как сокеты, TCP , отображаемые в память файлы
† да, я понимаю, что стандартный ввод — это файл (или файлоподобный). И передача таких файлов действительно аналогична передаче опций