shell scripts y comando source
Publicado por moises (2 intervenciones) el 25/10/2007 23:53:42
hola todos,
tengo algunas dudas con respecto a los shell scripts en linux y el comando \"souce\":
1.- entiendo que un shell script se reconoce por tener la linea #!/bin/bash correcto??, pero me doy cuenta que tambien puedo hacer scripts sin necesidad de esta linea y simplemente correrlos con el comando \'source\', entonces cual es la diferencia entre hacer un shell script y hacer un script y correrlo con \'source\' ??
2.- un shell script debe tener permisos de ejecucion para poder ejecutarse, pero un script normal (sin la linea #!/bin/bash) puede NO tener permisos de ejecucion y aun asi se puede ejecutar con \'source\', entonces cual es la ventaja del shell script??
3.- en el codigo del script quiero hacer que a la hora que se ejecute me cambie a la carpeta \"/home/usuario\" por ejemplo, asi que añado estas lineas de codigo
var=/home/usuario
cd $var
pero cuando ejecuto un shell script con este codigo no me cambia a esa carpeta, la forma de ejecutarlo es: $ ./script1
y cuando ejecuto un script (sin la linea #!/bin/bash), entonces si me cambia a la carpeta que yo quiero, la forma de ejecutarlo es: $ source ./script1
entonces estoy confundido, con esto veo que es mucho mejor hacer scripts y ejecutarlos con \'source\' que hacer shell scripts, no veo cual es la ventaja de los shell scripts??, basicamente cual es la diferencia entre un shell script y un script que ejecuto con \'source\'??
gracias por su ayuda
tengo algunas dudas con respecto a los shell scripts en linux y el comando \"souce\":
1.- entiendo que un shell script se reconoce por tener la linea #!/bin/bash correcto??, pero me doy cuenta que tambien puedo hacer scripts sin necesidad de esta linea y simplemente correrlos con el comando \'source\', entonces cual es la diferencia entre hacer un shell script y hacer un script y correrlo con \'source\' ??
2.- un shell script debe tener permisos de ejecucion para poder ejecutarse, pero un script normal (sin la linea #!/bin/bash) puede NO tener permisos de ejecucion y aun asi se puede ejecutar con \'source\', entonces cual es la ventaja del shell script??
3.- en el codigo del script quiero hacer que a la hora que se ejecute me cambie a la carpeta \"/home/usuario\" por ejemplo, asi que añado estas lineas de codigo
var=/home/usuario
cd $var
pero cuando ejecuto un shell script con este codigo no me cambia a esa carpeta, la forma de ejecutarlo es: $ ./script1
y cuando ejecuto un script (sin la linea #!/bin/bash), entonces si me cambia a la carpeta que yo quiero, la forma de ejecutarlo es: $ source ./script1
entonces estoy confundido, con esto veo que es mucho mejor hacer scripts y ejecutarlos con \'source\' que hacer shell scripts, no veo cual es la ventaja de los shell scripts??, basicamente cual es la diferencia entre un shell script y un script que ejecuto con \'source\'??
gracias por su ayuda
Valora esta pregunta


0