¿Cuál es el estándar para la sangría en los scripts de shell? [cerrado]

58

La comunidad Java usa 4 espacios como la unidad de sangría. 1
comunidad Ruby usa 2 espacios que generalmente se acuerdan. 2

¿Cuál es el estándar para la sangría en los scripts de shell? 2 o 4 espacios o 1 pestaña?

Arturo Herrero
fuente
42
Los estándares son geniales. Tenemos tantos para elegir ...
Shadur
1
Para los más divertidos, eche un vistazo a la sangría "estándar" para los scripts en /etc/init.d. Encontrará el estándar de dos espacios, cuatro espacios, una pestaña, etc., usado en diferentes scripts, a veces un par de esos estándares en el mismo script.
cjc
1
enchufe descarado: deje que bash mismo decida la sangría adecuada automáticamente
Olivier Dulac
El estándar es evitar caracteres de tabulación y abofetear a cualquiera que no siga esa simple regla. El número de espacios que usa en su lugar es asunto suyo, pero si elige seguir la Ruta de la pestaña, entonces no lo ayudará.
Parthian Shot
2
Si usa pestañas, puede sangrar sus <<-heredocs. stackoverflow.com/a/33817423/99777 No puede hacerlo con espacios. "Para los scripts de shell, el uso de pestañas no es una cuestión de preferencia o estilo; es cómo se define el idioma".
joeytwiddle

Respuestas:

43

No hay sangría estándar en los scripts de shell que importa.

Respuesta un poco menos frívola:

  • Elija un estándar en su equipo en el que todos puedan trabajar, para simplificar las cosas.
  • Use algo que su editor facilite para que no tenga que luchar para cumplir con el estándar.
OchoBitTony
fuente
Históricamente, cuatro espacios por nivel de sangría podrían ser los más comunes.
con-f-use
26

Nunca he encontrado la guía de estilo especificada por Shell, pero para la programación de bash esta es la más popular:

Bash Style Guide and Coding Standard.pdf | lug.fh-swf.de

La sangría de las construcciones del programa tiene que estar de acuerdo con la profundidad de anidación lógica. La sangría de un paso generalmente está en línea con los pasos del tabulador del editor seleccionado. En la mayoría de los casos, se eligen 2, 4 u 8.

diffycat
fuente
-5

Simplemente abra el archivo con el editor vim y al escribir gg=Gse reindentará todo el archivo. Creo que este es el estándar.

Shailendra Saxena
fuente
1
Eso sangrará en función del valor de la variable shiftwidth(aka sw) vim. Por defecto, es 8, que corresponde a la tabulación predeterminada en las terminales. Ese valor es histórico, pocas personas usan 8 sangrías de espacio hoy en día, las he tenido set sw=2en mi ~/.vimrcdurante décadas.
Stéphane Chazelas