¿Cómo puedo pasar todos los arguments de la command-line de mi script bash como un argumento a otro progtwig?

Deseo escribir un simple script de git que ejecutará las siguientes líneas:

cd <the name of my git repo> git add * git add -u git commit -m "<my comment in the form of a string>" git push origin master 

Soy nuevo en bash scripting, así que esto ha sido un problema para mí. Mi bash actual es el siguiente:

 #!/bin/sh cd <my repo name which has no have any spaces> git add * git add -u git commit -m $* git push origin master 

No sé cómo arrojar un argumento de string adecuado rodeado de comillas. Actualmente trato de ejecutar el progtwig de esta manera:

 autogit.sh "Example comment." 

¿Cómo debo cambiar mi script para que funcione con los comentarios de confirmación de varias palabras?

La respuesta más rápida aquí es que en tu script, la línea de confirmación debe leer

git commit -m "$*"

Aquí hay algunos ejemplos de mis alias de git que podrían ayudarte. Estoy haciendo cosas similares.

http://lukas.zapletalovi.com/2011/04/my-git-aliases.html

Por ejemplo:

 rem = !sh -c 'test "$#" = 1 && git h && git checkout master && git pull && git checkout \"$1\" && git rebase master && git checkout master && git merge \"$1\" && echo Done and ready to do: git pom && exit 0 || echo \"usage: git rem \" >&2 && exit 1' - # git rem usage: git rem ... # git rem my_branch ... 

Se necesita un parámetro, también todos los commands se concatenan con &&, que se detiene con el código de error 1 inmediatamente si falla algún command de la cadena (por ejemplo, fusión). Buena suerte con alias.

Bash hace interpolación de cadenas. Su script debería estar bien si reemplaza la línea

 git commit -m $* 

con

 git commit -m "$*" 
 git commit -m "$*" 

debería hacerlo por ti.