Problema con sintaxis de eliminación de cuentas con scripted -- macos campo con command-line campo con bash campo con script camp apple Relacionados El problema

Problem with scripted account deletion syntax


1
vote

problema

Español

Estoy trabajando en un módulo de script de limpieza de cuenta que puede manejar las cuentas ocultas e insignias que estamos creando a granel en nuevos sistemas MACOS.

Hemos mantenido la lógica simple de comenzar.

Sin embargo, sigo recibiendo un error: Línea 4: [: Falta "] '

Tengo el espacio ... ¿Qué estoy perdiendo? Intenté las verificaciones de sintaxis y pasa el Muser.

  #!/bin/bash USERNAME=administrator  if [ dscl . -list /Users | grep -v '^_' | grep $USERNAME ];     then     echo "Deleting user account $USERNAME"     dscl . -delete "/Users/$USERNAME" else     echo "The admin account $USERNAME does not exist here" fi  if [ -d "/$USERPATH/$USERNAME" ];     then     echo "Deleting leftover user account folder $USERPATH/$USERNAME"     rm -rf $USERPATH/$USERNAME fi  if [ -d "/Users/$USERNAME" ];     then     echo "Deleting leftover user account folder /Users/$USERNAME"     rm -rf /Users/$USERNAME] fi   
Original en ingles

I'm working on an account cleanup script module that can handle the hidden and unhidden accounts we're creating in bulk on new MacOS systems.

We've kept the logic simple to start.

However I keep getting an error: line 4: [: missing `]'

I have the space...what am I missing? I tried syntax checks and it passes muster.

#!/bin/bash USERNAME=administrator  if [ dscl . -list /Users | grep -v '^_' | grep $USERNAME ];     then     echo "Deleting user account $USERNAME"     dscl . -delete "/Users/$USERNAME" else     echo "The admin account $USERNAME does not exist here" fi  if [ -d "/$USERPATH/$USERNAME" ];     then     echo "Deleting leftover user account folder $USERPATH/$USERNAME"     rm -rf $USERPATH/$USERNAME fi  if [ -d "/Users/$USERNAME" ];     then     echo "Deleting leftover user account folder /Users/$USERNAME"     rm -rf /Users/$USERNAME] fi 
           

Lista de respuestas

0
 
vote
vote
La mejor respuesta
 

ABCDEFGHIJKLMNABCDEFGHIJKLMN0 (y ABCDEFGHIJKLMNABCDEFGHIJKLMN1 ) Espere una expresión, no un comando; Así que no puede ejecutar directamente los comandos dentro de una prueba.

Cuando coloca una tubería en su condición, termina la evaluación iniciada con [ que hace abcdefghijklmn] para ser tratado como un argumento para el último grep .

Intente poner su condición dentro de ABCDEFGHIJKLMNABCDEFGHIJKLMN5 Así:

  if [ $(dscl . -list /Users | grep -v '^_' | grep $USERNAME) ];   

De esa manera, la expresión (incluidas todas las tuberías) se va a ejecutar primero y devolver su código de salida que se utilizará en su evaluación.

 

[ (and [[) expect an expression, not a command; so you can't directly run commands inside a test.

When you put a pipe in your condition it terminates the evaluation started with [ which makes ] to be treated as an argument to the last grep.

Try putting your condition inside $() like so:

if [ $(dscl . -list /Users | grep -v '^_' | grep $USERNAME) ]; 

That way the expression (including all the pipes) is going to be executed first and return its exit code to be used in your evaluation.

 
 
0
 
vote

En su declaración tubed, solo se usa el estado de salida del último GREP y no necesita los soportes de prueba. También puedes eliminar el primer GREP.

  if dscl . -list  /Users | grep -w "$username" then     .........     ......... else     ......... fi   

Por favor, pruebe antes de usar.

 

In your piped statement only the exit status of the last grep is used and you do not need the test brackets. You can also eliminate the first grep.

if dscl . -list  /Users | grep -w "$username" then     .........     ......... else     ......... fi 

Please test before using.

 
 
 
 

Relacionados problema

16  Cómo cambiar la puerta de enlace predeterminada de una máquina Mac OSX  ( How to change the default gateway of a mac osx machine ) 
Estoy familiarizado con la ruta Agregar comando de GW predeterminado en Linux para agregar una puerta de enlace predeterminada, pero esto no funciona en Mac O...

1  MacBook Pro HDMI sin sonido  ( Macbook pro hdmi no sound ) 
Compré un MacBook Pro en marzo de 2011. Coberté un cable mini a HDMI desde mi computadora portátil a mi receptor de Sony. No tengo una foto, pero no tengo son...

4  Cifrar copias de seguridad  ( Encrypt backups ) 
¿Es mejor cifrar el disco duro que usará para la copia de seguridad de la máquina de tiempo con la utilidad de disco o con la máquina del tiempo? Me he dado c...

1  ¿Cómo enumerar las aplicaciones ordenadas por tiempo modificado en el buscador en OS X 10.8?  ( How to i list applications sorted by modified time in finder on os x 10 8 ) 
Descubrí que en 10.8 La carpeta de aplicaciones no le permite cambiar el orden de clasificación, siempre se enumera por nombre. ¿Cómo puedo cambiar el orden...

4  ¿Cómo determinar qué tipo de unidad SSD se admite para un MacBook?  ( How to determine what type of ssd drive is supported for a macbook ) 
Me estoy inclinando para obtener un SSD para mi MacBook Pro (15 pulgadas, 2.53GHz, mediados de 2009), ya que este es mi primer viaje en SSD, me preguntaba si ...

0  ¿Por qué necesito usar sudo purga para liberar la memoria y no hacerlo automáticamente?  ( Why do i need to use sudo purge to free up memory and not doing it automatically ) 
Compré un MacBook recientemente con 16 GB de RAM y sin ninguna razón. A veces está usando más de memoria normal y ejecuto su purga para liberar la memoria. ¿H...

9  ¿Alguna aplicación de OS X facilita la búsqueda y reemplace a través de múltiples archivos?  ( Do any os x apps ease search and replace across multiple files ) 
Estoy buscando una herramienta OS X que me permita buscar y reemplazar una cadena de búsqueda en varios archivos. Los requisitos son los siguientes: buscar...

0  Preguntos de montaña Lion-contraseña  ( Mountain lion password prompts ) 
¿Cómo dejo de pedirle a Mountain Lion pidiéndome que ponga en mi contraseña cada vez que quiero mover / cambiar las carpetas / archivos, etc.? Un ejemplo es...

14  Conseguir VPN a volver a conectar automáticamente en la caída de la conexión  ( Getting vpn to auto reconnect on connection drop ) 
Utilizo la VPN incorporada en Mac OS X 10.7.3. Es IPsec, FWIW. De vez en cuando, se desconecta (probablemente un problema con mi servidor corporativo). ¿Hay a...

11  Pantalla negra con cursor en lugar de la ventana de inicio de sesión  ( Black screen with cursor instead of login window ) 
anoche My Mid-2010 Mac Pro despertó y probablemente instaló algunas actualizaciones (Mavericks). Después de esto, cada vez que arranque, la pantalla negra con...

2  Cambio en el comportamiento del sueño en MacBook Pro e ignorando la configuración en Yosemite  ( Change in sleep behaviour on macbook pro and ignoring settings on yosemite ) 
Recientemente (posiblemente desde la actualización 10.10.5, pero no estoy seguro) My MacBook Pro Mid 2012 (no retina) cambió su comportamiento para dormir y p...

0  León Caracteres especiales Entrada en Snow Leopard  ( Lion special characters input at snow leopard ) 
¿Hay alguna aplicación de terceros para habilitar la entrada de caracteres especial en la llave de sujeción para el leopardo de la nieve es lo mismo que está ...

0  Dirección IP en las cámaras de red Cambio Evitando el acceso remoto  ( Ip address on network cameras change preventing remote access ) 
Tengo 5 cámaras de red en mi red. Agregué la configuración manualmente en mi enrutador extremo del aeropuerto para el reenvío de puertos. Sin embargo, las dir...

2  Miniaturas para las fotos antiguas están equivocadas en la aplicación de fotos  ( Thumbnails for old photos are wrong in photos app ) 
Importé un gran número de fotos antiguas en iPhoto, y luego actualizé a la nueva aplicación de fotos recientemente. Después de la actualización, las miniatura...

8  Barra lateral del buscador de texto parpadeando y alta carga de CPU desde El Capitan  ( Finder sidebar flashing text and high cpu load since el capitan ) 
Después de la actualización a OS X 10.11 Comencé a tener estos errores: Buscador de texto de barra lateral parpadeando video Muy alta carga de CPU:...




© 2021 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos