Думайте о каждом скрипте как о функции: функция A вычисляет некоторое значение и возвращает его. Он не знает, кто это будет называть. Функция B принимает некоторое значение и повторяет его. Неважно, кто произвел это значение. Итак, сценарий А:
#!/bin/sh
# a.sh: Calculate something and return the result
echo 19
и сценарий B:
#!/bin/sh
# b.sh: Consume the calculated result, which passed in as $1
echo The result is $1
Сделать их исполняемыми:
chmod +x [ab].sh
Теперь мы можем склеить их вместе в командной строке:
$ b.sh $(a.sh)
The result is 19
Семантически, b.sh не вызывал a.sh. Вы вызвали a.sh и передали его результат в b.sh.