Come creare comandi personalizzati per git-shell? Secondo lo documentation:Comandi personalizzati con git-shell
Quando viene fornito -c, il programma viene eseguito in modo non interattivo; può essere uno di git receive-pack, git upload-pack, git upload-archive, cvs server o un comando in COMMAND_DIR. La shell è avviata in modalità interattiva quando non vengono forniti argomenti; in questo caso, deve esistere COMMAND_DIR e qualsiasi degli eseguibili in esso contenuti può essere invocato .
Tuttavia, non sono sicuro di averlo capito correttamente. Ho creato un utente chiamato gituser e gli ho dato/usr/bin/git-shell come shell. Ho creato una directory chiamata git-shell-commands e ho inserito uno script chiamato 'testy', ma non riesco a farlo funzionare tramite git-shell.
Ecco che cosa sto provando da un altra macchina:
$ ssh [email protected] testy
fatal: unrecognized command 'testy'
noti che git-shell sta lavorando, e rispondendo, semplicemente non riesce a trovare il mio comando personalizzato.
E qui è lo script:
:/home/gituser/git-shell-commands# ls -l -a
total 12
drwxr-xr-x 2 gituser gituser 4096 Jan 22 17:35 .
drwxr-xr-x 4 gituser gituser 4096 Jan 22 13:57 ..
-rwxr-xr-x 1 gituser gituser 26 Jan 22 13:58 testy
:/home/gituser/git-shell-commands# ./testy
hello!
:/home/sodigit/git-shell-commands# cat testy
echo "hello!"
Che cosa sto facendo di sbagliato? Come eseguire comandi personalizzati con git-shell?
Come hai iniziato git-shell? Hai definito 'COMMAND_DIR'? –
Non l'ho definito. Presumo che sia $ HOME/git-shell-commands dove $ HOME è la directory home di gituser (/ home/gituser). Io uso ssh per accedere a git-shell come nell'esempio sopra. – mimrock
La documentazione afferma chiaramente che gli script devono essere collocati all'interno di 'COMMAND_DIR'. Se non sai a quale directory punta, come puoi inserire i file al suo interno? –