Como o git é capaz de executar scripts C no diretório atual como um comando no terminal?

Eu estive pesquisando no bash e no shell recentemente e tentando descobrir como o git é capaz de criar um comando de terminal que executa scripts C no diretório atual, por exemplo, git init, git push / pull etc.

Eu tenho tentado simulá-lo em python, criando um script python executável no meu diretório pessoal,

#!/usr/bin/env python
import os
print("current_dir: ",os.getcwd()) #prints /Users/usr/folder/script.py

Em seguida, crio um arquivo .command que chama o script python

cd
cd FOLDER/
python3 SCRIPT.py

e editando o perfil bash para exportar uma variável para executar o arquivo .command.

export mycommand=/Users/urn/folder/command.command

Embora isso não seja nem perto do modo como o git atinge sua linha de comando. Por exemplo, quando executo meu script, na verdade, não é um comando terminal, é apenas uma variável de ambiente, daí o $.

$mycommand

Em segundo lugar, isso vai para o diretório do arquivo python e executa o script com esse diretório; portanto, a saída sempre será a mesma

/Users/usr/folder/script.py

Embora no git ele execute o arquivo no diretório atual. Portanto, a declaração de impressão mudaria dependendo do diretório do terminal.

Como eu sou capaz de criar meu próprio 'comando terminal', como o git init, para executar meu script python em qualquer diretório em que eu esteja. Ps, eu estou no mac.

Qualquer ajuda seria muito apreciada :)

questionAnswers(1)

yourAnswerToTheQuestion