¿Hay una manera simple de comprobar si un script se ejecuta en Cygwin. Tenemos una secuencia de comandos que llama a una utilidad que espera que las rutas pasen a ser ventanas, así que si estamos en Cygwin tenemos que convertir las rutas en rutas de Windows.Detección del script shell que se ejecuta en Cygwin
10
A
Respuesta
15
Usted puede utilizar la utilidad uname
. De uname(1):
-o, sistema --Instrucciones
de impresión del sistema operativo
código Ejemplo:
if [ `uname -o` = "Cygwin" ]
then
# Cygwin specific stuff
else
# Other UNIX (Linux, etc.) specific stuff
fi
2
comprobar la salida de uname
utilidad
+0
+1 'uname -o' es más específica, aunque –
1
Combinando algunos de los comentarios y la eliminación de resultados acentos abiertos en desuso en la:
#!/bin/bash
OS_NAME=$(uname -s)
OS_NAME=${OS_NAME:0:6}
if [[ "$OS_NAME" = "CYGWIN" ]]
then
# Cygwin specific stuff
else
# Other UNIX (Linux, etc.) specific stuff
fi
3
Esto funciona con ksh y bash.
#!/bin/ksh
case "$(uname -s)" in
CYGWIN*) echo This is Cygwin ;;
*) echo This is not Cygwin ;;
esac
Cuestiones relacionadas
- 1. script de shell que no se ejecuta mediante crontab, se ejecuta correctamente manualmente
- 2. ¿Cómo ejecutar el script de shell en cygwin?
- 3. Cygwin cáscara no ejecuta Bashrc
- 4. ¿Cómo puede saber un script de shell que se ejecuta en una zona de Solaris?
- 5. COMO: Detectar fiesta del shell script
- 6. Error de sintaxis de Cygwin bash, pero el script se ejecuta perfectamente en Ubuntu
- 7. shell cygwin en Emacs - ¿salida desordenada?
- 8. postbuild UIAutomation script no se ejecuta en jenkins
- 9. Análisis del argumento del script de Shell
- 10. Prevenir que ssh rompa los parámetros del script de shell
- 11. PySerial La aplicación se ejecuta en shell, por script no py
- 12. El script de My Shell que inicia Rake no se ejecuta correctamente cuando se inicia a través de cron
- 13. Configuración del formato de codificación en java en shell Script
- 14. Detección del tipo de flujo de salida de un script de shell
- 15. ejecutivo de PHP() no se ejecutará comando shell cuando se ejecuta a través del navegador
- 16. Shell script: Asegúrese de que la secuencia de comandos no se ejecuta si ya se está ejecutando
- 17. ¿Directorio actual del script de Shell?
- 18. ¿Cómo se ejecuta exactamente un script PHP?
- 19. Analizando los argumentos del script de shell
- 20. Shell script "para" la sintaxis del bucle
- 21. ¿Cómo se ejecuta la revisión ortográfica en varios archivos y se muestran las palabras incorrectas en el script de shell?
- 22. ¿Cómo se ejecuta un script de shell dentro de una aplicación de Android?
- 23. script de shell: if
- 24. Proceso de eliminación en Shell Script
- 25. Shell Script y espacios en la ruta
- 26. ¿Utiliza XSL para generar XSL dinámico que se ejecuta dentro del mismo script?
- 27. carácter \ r en shell script
- 28. detección de la aplicación para iPhone que se ejecuta en iPad en modo compatibilidad
- 29. ejecuta php script automáticamente
- 30. Bash Shell; comando de lectura; usando Cygwin en Windows 7
Pero [uname de OS X (1)] (http://developer.apple.com/documentation/Darwin/Reference/ManPages/man1/uname. 1.html) (BSD uname) no admite el indicador '-o'. – ryandesign
Sí, no recomendaría usar '-o' si necesitas ser súper portátil, demasiados sabores de * nix no lo reconocen. Alguna combinación de '-s' y' -r' debería hacer el truco, y esas banderas han existido desde el principio de los tiempos. –