Я хочу, чтобы сценарии оболочки удаляли ВСЕ файлы в dir, НО НЕ dir [duplicate]

Su secuencia de comandos crea una variable de entorno, myVar, en el entorno de la secuencia de comandos. El script, tal como se presenta actualmente, es funcionalmente exactamente equivalente a

#!/bin/bash

export myVar="myVal"

El hecho de que exportocurra en el cuerpo de la función no es relevante para el alcance de la variable de entorno (en este caso ). Comenzará a existir tan pronto como se llame a la función.

La variable estará disponible en el entorno del script y en el entorno de cualquier otro proceso iniciado desde el script después de la llamada a la función.

La variable no existirá en el entorno del proceso principal (el shell interactivo desde el que ejecuta la secuencia de comandos ), a menos que la fuente de la secuencia de comandos (sea .o source), en cuyo caso la todo el script se ejecutará en el entorno de shell interactivo (, que es el propósito de "obtener" un archivo de shell ).

Sin la función llamarse a sí misma:

myFunc() {
    export myVar="myVal"
}

El suministro de este archivo colocaría myFuncen el entorno del shell de llamada. Llamar a la función crearía la variable de entorno.

Consulte también la pregunta ¿Qué alcances pueden tener las variables de shell?

-5
29.09.2015, 17:23
0 ответов

Теги

Похожие вопросы