Мое устройство ethernet имеет странное имя на Ubuntu [duplicate]

La respuesta del usuario IporSricer find /home/cg/root -readable -executablees el camino a seguir. Tenga en cuenta también que el comando findtiene la ventaja adicional de poder personalizar el formato de su salida, incluidas las opciones para incluir muchos detalles posibles sobre cada archivo. Consulte la opción -printfen la página man. El objetivo principal de esta respuesta es tratar de proporcionar comentarios útiles sobre su pregunta para sus futuros guiones.

  1. ¡No use la salida de lspara secuencias de comandos! Este es un error común de principiante. ref ¿Por qué *no *analiza `ls `?

  2. En lugar de usar ls, simplemente use el archivo nativo del shell , p. /home/cg/root/*. Esa es (una de las razones )por las que existe la función.

  3. Su secuencia de comandos no desciende a los directorios secundarios -, pero la respuesta del usuario IporSricer sí lo hace.

  4. No usas -la función de expansión de subcadenas del shell, por lo que ninguna de tus pruebas funcionará. El segundo parámetro es una subcadena de longitud , no una posición final, por lo que ${perm:1:2}devuelve una subcadena de dos -caracteres; desea ${perm:1:1}para una subcadena de un solo carácter.

  5. Una prueba más rápida sería definir variables separadas de la forma owner=${perm:1:2}y luego probarlas contra "rx".

  6. Me sorprende que parezca decir que &&funciona dentro de un comando de prueba [; Pensé que solo debería funcionar dentro de un [[.

  7. Dado que los tres if, elif, elifestán haciendo lo mismo, un echo, puede combinarlos en un solo ifusando el ||lógico 'o' operador (fuera de las pruebas [).

Espero que sea útil.

112
06.02.2018, 04:11
0 ответов

Теги

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