Problema de CHMOD U-X en caso de instrucción en shell script -- bash campo con chmod camp askubuntu Relacionados El problema

chmod u-x problem in case statement in Shell Script


-2
vote

problema

Español

ingrese la descripción de la imagen aquí

Quiero dar derechos a un archivo usando un menú (EXEC, ESCRIBIR, LEER). Si observa de cerca, leo el valor B (nombre del archivo), utilizo la función abcdefghijklmnabcdefghijklmnbcdefghijklmn0 write / 3) Escribir / 3) Función de lectura para ese archivo con otro abcdefghijklmn1 's.

Tengo un error en la línea:

  chmod u-x $b" ; ls -l ;    

Cuando ejecuto el .sh . ¿Por qué? Adjuntaré una captura de pantalla con el error.

ingrese la descripción de la imagen aquí!

Original en ingles

enter image description here

I want to give rights to a file using a menu (exec,write,read). If you look closely I read value B( the file's name) then I use the case function to do the 1)exec / 2)write / 3)read function for that file with another case's.

I have an error on the line:

chmod u-x $b" ; ls -l ;  

when I execute the .sh. Why? I will attach a screenshot with the error.

enter image description here!

     
 
 

Lista de respuestas

2
 
vote
vote
La mejor respuesta
 

Su ABCDEFGHIJKLMNABCDEFGHIJKLMN2 SYNATAX NO ES DERECHO.

en abcdefghijklmncase debe terminar en ) que es análogo a la nueva línea en este caso. Por lo tanto, la cáscara continúa con el mismo par de patrones de acción en la siguiente línea, encontró 2) y se muestra un error de sintaxis.

La sintaxis correcta sería:

  ABCDEFGHIJKLMNABCDEFGHIJKLMN8   

Revisa este tutorial para tener más idea en el case < / Código> Declaración.

También tenga en cuenta que no debe haber espacios entre la sintaxis de bits de permiso I.E. Debe colocar ABCDEFGHIJKLMNABCDEFGHIJKLMN10 , NO ABCDEFGHIJKLMNABCDEFGHIJKLMN11 .

 

Your case statement syatax is not right.

In case statement every pattern-action pair needs to be ended in ;; but you have used a single ; (after ls -l) which is analogous to newline in this case. So, the shell is continuing with the same pattern-action pair in the next line, found 2) and shown a syntax error.

The correct syntax would be:

case "$c" in            1) chmod u+x "$b"; ls -l ;; 

Check this tutorial to get more idea on the case statement.

Also note that there must be no spaces between permission bit syntax i.e. you need to put u+x, not u + x.

 
 
       
       

Relacionados problema

62  ¿Qué sucede si ejecuto accidentalmente el comando "Chmod -R" en los directorios del sistema (/, / etc, ...)  ( What if i accidentally run command chmod r on system directories etc ) 
Corrí accidentalmente ABCDEFGHIJKLMNABCDEFGHIJKLMN18 en lugar de ubuntu-security-status9 Lo detuve después de unos segundos, pero ahora hay alguno...

3  Chmod 777 en una red doméstica  ( Chmod 777 on a home network ) 
Decidí hacer mi servidor de inicio una máquina de escritorio Ubuntu. Después de buscar en línea, instalé Samba y conecté mi otra PC con My Ubuntu Desktop. C...

1  ¿Cómo ejecutar script en el inicio que requiere una contraseña?  ( How to run script at startup that requires a password ) 
Estoy ejecutando Ubutu en una raspbery pi 3 Tengo un script que se ejecuta como raíz cuando Ubuntu Boots. Para que ese script se ejecute correctamente. Ne...

1  Utilicé el comando Buscar sin especificar un directorio  ( I used the find command without specifying a directory ) 
Usé este comando sin especificar un directorio: ABCDEFGHIJKLMNABCDEFGHIJKLMN5 ¿Qué podría haber ocurrido? Estaba en la carpeta / var / www / html. ¿Camb...

5  ¿Cómo cambiar el permiso de archivo / carpeta predeterminado del usuario específico?  ( How to change default file folder permission of specific user ) 
¿Cómo puedo hacer que cualquier carpeta o archivos creados por un determinado usuario siempre sea público (accesible por alguien) en Ubuntu? ...

0  Cómo dar acceso a un programa para hacer un archivo en el directorio raíz  ( How to give a program access to make file in root directory ) 
Estoy ejecutando un programa que utiliza Log4j.El LOG4J usa el archivo Rolling Archivo. Sin embargo, no puede crear el archivo. Supongo que es porque la cre...

43  ¿Cómo funcionan los permisos de archivos?  ( How do file permissions work ) 
¿Puede explicar brevemente los conceptos principales y las herramientas de línea de comandos utilizadas para administrar los permisos de archivos? ...

6  ¿Fijar los bits de setuid y setgid en / usr?  ( Fix setuid and setgid bits in usr ) 
Hice algo estúpido: chown -R root:root /usr chmod -R g-w /usr La razón, aparentemente, ¿por qué /usr fue grabable en grupo y no era propiedad de raí...

1  "No se puede abrir el archivo userpref.blend @ para escribir: Permiso denegado" en Blender  ( Cannot open file userpref blend for writing permission denied in blender ) 
Estoy usando Blender 2.69, instalado a través del centro de software, y cuando guardo la preferencia de usuario a través del archivo - & gt; Preferencias de u...

131  'Chmod U + X' versus 'Chmod + X'  ( Chmod ux versus chmod x ) 
¿Cuál es la diferencia entre Windows 101 y solo Windows 102 ? He visto una tonelada de tutoriales que dicen usar Windows 103 para hacer que los scripts e...




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