2 de marzo de 2004 (pm): Se añadió soporte para archivos comprimidos (Z).
2 de marzo de 2004 (pm): Modificación para procesar todos los archivos y directorios y subir un nivel para asegurar que se incluya el directorio que los contiene.
Parámetros de entrada:
`path`: Libréf de la biblioteca para la cual se deben modificar los permisos (por defecto 'inprd').
`local`: Si es '1', se ejecuta localmente en UNIX; de lo contrario, el envío se realiza de forma remota desde el cliente al servidor.
Análisis de datos
Type : CREATION_INTERNE
El script no ingiere datos externos para su procesamiento. Utiliza un DATA STEP 'null' para operaciones internas como la resolución de una ruta de libréf SAS (`pathname`) y la ejecución de comandos del sistema (`call system`, `x`).
1 Bloque de código
MACRO DEFINITION
Explicación : Este bloque define la macro `chmod` con dos parámetros: `path` (libréf, por defecto 'inprd') y `local` (indicador de ejecución local). El código incluye un bloque condicional (`%if`) que, si `local` no se especifica, utiliza `%syslput` para transferir el valor de `path` y envía el código siguiente a un servidor SAS remoto a través de `rsubmit`.
Explicación : Este bloque ejecuta un DATA STEP `_null_` que no crea un conjunto de datos. Se utiliza para:
1. Resolver la ruta física de la libréf SAS (`&path`) utilizando la función `pathname()`.
2. Mostrar esta ruta en el log (`put path=`).
3. Ejecutar el comando del sistema `cd` para cambiar el directorio actual a la ruta resuelta.
Luego, utiliza dos comandos `x` para ejecutar el comando UNIX `chmod g=rxw *`, primero en el directorio de la libréf para otorgar al grupo permisos de lectura, escritura y ejecución, y luego en el directorio padre (`cd ..`) para aplicar los mismos permisos al directorio contenedor.
¡Copiado!
* Fix authorities so group has full access to datasets & indexes created ;
* use a datastep to force pathname to resolve on UNIX, rather than windows ;
data _null_ ;
length path $ 256 ;
path=pathname("&path") ;
put path= ;
call system('cd '||trim(path)) ;
run ;
x "chmod g=rxw *" ;
* go up a level to fix the directory ;
x "cd .." ;
x "chmod g=rxw *" ;
1
* Fix authorities so group has full access to datasets & indexes created ;
2
* use a datastep to force pathname to resolve on UNIX, rather than windows ;
3
DATA _null_ ;
4
LENGTH path $ 256 ;
5
path=pathname("&path") ;
6
put path= ;
7
call system('cd '||trim(path)) ;
8
RUN ;
9
x "chmod g=rxw *";
10
* go up a level to fix the directory ;
11
x "cd .." ;
12
x "chmod g=rxw *" ;
3 Bloque de código
MACRO END
¡Copiado!
%if &local= %then
endrsubmit ; ;
%mend chmod ;
1
%IF &local= %THEN
2
endrsubmit ; ;
3
%mend chmod ;
Este material se proporciona "tal cual" por We Are Cas. No hay garantías, expresas o implícitas, en cuanto a la comerciabilidad o idoneidad para un propósito particular con respecto a los materiales o el código contenidos en este documento. We Are Cas no es responsable de los errores en este material tal como existe ahora o existirá, ni We Are Cas proporciona soporte técnico para el mismo.
Información de copyright : Program Macro Name : chmod (version#007)
Date : 19feb2004
Written By : phil mason
SAS y todos los demás nombres de productos o servicios de SAS Institute Inc. son marcas registradas o marcas comerciales de SAS Institute Inc. en los EE. UU. y otros países. ® indica registro en los EE. UU. WeAreCAS es un sitio comunitario independiente y no está afiliado a SAS Institute Inc.
Este sitio utiliza cookies técnicas y analíticas para mejorar su experiencia.
Saber más.