¿Hay algún beneficio real al usar en bash -c 'some command'exceso?bash <<< 'some command'
Parecen lograr el mismo efecto.
bash
here-string
Yosefrow
fuente
fuente

bash -c '...'funcionará en proyectiles que no tienen herejes. Asume que bash se llamará dentro de un shell de bash, pero este no siempre será el caso.Respuestas:
bash -c 'some command'retiene el acceso a la entrada estándar de la persona que llama, por lo que losreadcomandos de lectura desde la entrada estándar funcionarán normalmente.bash <<< 'some command'sustituye esa entrada con la línea que se pasa en, por lo quebash -c catybash <<< cathacer cosas diferentes.Por otro lado, puede utilizar esa función para proporcionar su propia entrada estándar para utilizarla
$'...', si tiene mucho cuidado:No me gustaría confiar en eso, pero a veces podría ser conveniente.
bash -ctambién permite que los argumentos se pasen al script y$0se establezcan:se establecerá
$1enabcy$2paradefadentrosome command.fuente
bash -cque mencionan-c, AFAIK. No del todo inútil, ya que eso puede ayudar a localizarlos.bash <<< 'script'los errores se parecen a los del script principal;bash -c 'script'los que no. Incluso puede etiquetarlos:bash -c 'script' label.bash <<< 'echo $1' /dev/stdin footambién funciona, y grabadosfoo. Aunque la configuración$0es algo más limitada.bash <<< 'echo "$1"' /dev/stdin foono siempre funciona Me pusebash <<< 'echo "$1"' -s fooa trabajar.