Why are environment variables different with `bash -c`Recursively rename files using find and sedWhy does rc.local require absolute paths? How can I run a script at startup that doesn't use them?Run an interactive bash subshell with initial commands without returning to the (“super”) shell immediatelyHow can I run a full OS in a Docker container, without specifying a command?How to prevent attach or exec in a docker containerdocker: Percona how to populate mysql server with initial dataWhy do we use a OS Base Image with Docker if containers have no Guest OS?Configure php-fpm to access environment variables in dockerStarting specific task containers from inside a coordinator containerwhy sendmail in container not working when running on different host machines?

Why isn't Tyrion mentioned in the in-universe book "A Song of Ice and Fire"?

What were the Ethiopians doing in Xerxes' army?

Can you still travel to America on the ESTA waiver program if you have been to Iran in transit?

Is there an idiom that means that you are in a very strong negotiation position in a negotiation?

A burglar's sunglasses, a lady's odyssey

What are nvme namespaces? How do they work?

Why would a rational buyer offer to buy with no conditions precedent?

What could a self-sustaining lunar colony slowly lose that would ultimately prove fatal?

Why does the hash of infinity have the digits of π?

How to let other coworkers know that I don't share my coworker's political views?

Shorten or merge multiple lines of `&> /dev/null &`

Is superuser the same as root?

Why did it take so long for Germany to allow electric scooters / e-rollers on the roads?

xcolor breaking ligatures

The Maltese Falcon

Co-author wants to put their current funding source in the acknowledgements section because they edited the paper

Why sampling a periodic signal doesn't yield a periodic discrete signal?

How to determine if a hyphen (-) exists inside a column

Why is 'additive' EQ more difficult to use than 'subtractive'?

Time complexity of an algorithm: Is it important to state the base of the logarithm?

What did the 'turbo' button actually do?

Testing using real data of the customer

Does French have the English "short i" vowel?

Need to read my home electrical Meter



Why are environment variables different with `bash -c`


Recursively rename files using find and sedWhy does rc.local require absolute paths? How can I run a script at startup that doesn't use them?Run an interactive bash subshell with initial commands without returning to the (“super”) shell immediatelyHow can I run a full OS in a Docker container, without specifying a command?How to prevent attach or exec in a docker containerdocker: Percona how to populate mysql server with initial dataWhy do we use a OS Base Image with Docker if containers have no Guest OS?Configure php-fpm to access environment variables in dockerStarting specific task containers from inside a coordinator containerwhy sendmail in container not working when running on different host machines?






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;








6















How come the following, i.e. echoing $PATH directly from bash -c:



docker exec -i -t my_container bash -c "echo $PATH"


returns a different value for $PATH than what follows, i.e. starting an interactive bash session and echoing the $PATH?



docker exec -i -t my_container bash 
root@21e6d898c3c2:/# echo $PATH


To give some context to this question, I'd like to run a command in the container with docker exec, and this command is on the path if I start an interactive bash session, but isn't if I just run the command.



Using the full path of the executable isn't a workaround in this case, as the command relies on other environment variables that, just like PATH are set in a bash interactive session, but not if I run the command up straight.










share|improve this question






















  • In addition to what @chicks pointed out, using docker ... "echo $PATH" will substitute your PATH before it starts docker, let alone the bash shell. If you want to see the PATH of the shell running under docker, use single-quotes (docker ... 'echo $PATH') to prevent premature evaluation of the PATH variable.

    – Gordon Davisson
    Nov 25 '16 at 3:30

















6















How come the following, i.e. echoing $PATH directly from bash -c:



docker exec -i -t my_container bash -c "echo $PATH"


returns a different value for $PATH than what follows, i.e. starting an interactive bash session and echoing the $PATH?



docker exec -i -t my_container bash 
root@21e6d898c3c2:/# echo $PATH


To give some context to this question, I'd like to run a command in the container with docker exec, and this command is on the path if I start an interactive bash session, but isn't if I just run the command.



Using the full path of the executable isn't a workaround in this case, as the command relies on other environment variables that, just like PATH are set in a bash interactive session, but not if I run the command up straight.










share|improve this question






















  • In addition to what @chicks pointed out, using docker ... "echo $PATH" will substitute your PATH before it starts docker, let alone the bash shell. If you want to see the PATH of the shell running under docker, use single-quotes (docker ... 'echo $PATH') to prevent premature evaluation of the PATH variable.

    – Gordon Davisson
    Nov 25 '16 at 3:30













6












6








6


1






How come the following, i.e. echoing $PATH directly from bash -c:



docker exec -i -t my_container bash -c "echo $PATH"


returns a different value for $PATH than what follows, i.e. starting an interactive bash session and echoing the $PATH?



docker exec -i -t my_container bash 
root@21e6d898c3c2:/# echo $PATH


To give some context to this question, I'd like to run a command in the container with docker exec, and this command is on the path if I start an interactive bash session, but isn't if I just run the command.



Using the full path of the executable isn't a workaround in this case, as the command relies on other environment variables that, just like PATH are set in a bash interactive session, but not if I run the command up straight.










share|improve this question














How come the following, i.e. echoing $PATH directly from bash -c:



docker exec -i -t my_container bash -c "echo $PATH"


returns a different value for $PATH than what follows, i.e. starting an interactive bash session and echoing the $PATH?



docker exec -i -t my_container bash 
root@21e6d898c3c2:/# echo $PATH


To give some context to this question, I'd like to run a command in the container with docker exec, and this command is on the path if I start an interactive bash session, but isn't if I just run the command.



Using the full path of the executable isn't a workaround in this case, as the command relies on other environment variables that, just like PATH are set in a bash interactive session, but not if I run the command up straight.







bash docker






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 23 '16 at 19:14









Alessandro VernetAlessandro Vernet

222137




222137












  • In addition to what @chicks pointed out, using docker ... "echo $PATH" will substitute your PATH before it starts docker, let alone the bash shell. If you want to see the PATH of the shell running under docker, use single-quotes (docker ... 'echo $PATH') to prevent premature evaluation of the PATH variable.

    – Gordon Davisson
    Nov 25 '16 at 3:30

















  • In addition to what @chicks pointed out, using docker ... "echo $PATH" will substitute your PATH before it starts docker, let alone the bash shell. If you want to see the PATH of the shell running under docker, use single-quotes (docker ... 'echo $PATH') to prevent premature evaluation of the PATH variable.

    – Gordon Davisson
    Nov 25 '16 at 3:30
















In addition to what @chicks pointed out, using docker ... "echo $PATH" will substitute your PATH before it starts docker, let alone the bash shell. If you want to see the PATH of the shell running under docker, use single-quotes (docker ... 'echo $PATH') to prevent premature evaluation of the PATH variable.

– Gordon Davisson
Nov 25 '16 at 3:30





In addition to what @chicks pointed out, using docker ... "echo $PATH" will substitute your PATH before it starts docker, let alone the bash shell. If you want to see the PATH of the shell running under docker, use single-quotes (docker ... 'echo $PATH') to prevent premature evaluation of the PATH variable.

– Gordon Davisson
Nov 25 '16 at 3:30










3 Answers
3






active

oldest

votes


















4














When -c is specified bash is not running as interactive or a login shell so it won't read the same startup scripts. Anything set in /etc/profile, ~/.bash_profile, ~/.bash_login, or ~/.profile would definitely be skipped.



Also, as explained by the bash man page:




Bash attempts to determine when it is being run with its standard input connected to a network connection, as when executed by the remote shell daemon, usually rshd, or the secure shell daemon sshd. If bash determines it is being run in this fashion, it reads and executes commands from ~/.bashrc and ~/.bashrc, if these files exist and are readable.




So if it doesn't think you're connecting across the network it might not read the .bashrc file either which would skip everything not skipped by the previous step.



solution



To work around this issue I would create a script that sets the PATH to something suitable and then run the command. If you want to use the existing .profile or other files then you can just source it in your script.






share|improve this answer


















  • 2





    why not run with bash -l -c "command"

    – Max Ivak
    Nov 22 '17 at 21:23


















5














In your first example:



docker exec -i -t my_container bash -c "echo $PATH"


That will evaluate the $PATH variable with your shell on your docker client, outside of the container, and then pass the expanded value as the command to run inside the container. You can compare the value of the above to running echo $PATH on the command line outside of docker and see that they are the same.



In your second example:



docker exec -i -t my_container bash 
root@21e6d898c3c2:/# echo $PATH


That will evaluate the $PATH variable inside the container.



You can escape your first example, or single quote it to prevent the bash shell on your workstation from expanding it, so that it is evaluated inside the container. Either of the following would work:



docker exec -i -t my_container bash -c "echo $PATH"
docker exec -i -t my_container bash -c 'echo $PATH'





share|improve this answer


















  • 1





    Or ... bash -c "printenv PATH" or ... bash -c "declare -p PATH" which pass only the name PATH (not its value) and let the program or shell inside the container do the lookup

    – dave_thompson_085
    May 10 at 3:48



















1














Try the -l option for bash. It will run in login shell and load /etc/profile.



docker exec -i -t my_container bash -lc "echo $PATH"





share|improve this answer

























    Your Answer








    StackExchange.ready(function()
    var channelOptions =
    tags: "".split(" "),
    id: "2"
    ;
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function()
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled)
    StackExchange.using("snippets", function()
    createEditor();
    );

    else
    createEditor();

    );

    function createEditor()
    StackExchange.prepareEditor(
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader:
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    ,
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    );



    );













    draft saved

    draft discarded


















    StackExchange.ready(
    function ()
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f816709%2fwhy-are-environment-variables-different-with-bash-c%23new-answer', 'question_page');

    );

    Post as a guest















    Required, but never shown

























    3 Answers
    3






    active

    oldest

    votes








    3 Answers
    3






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    4














    When -c is specified bash is not running as interactive or a login shell so it won't read the same startup scripts. Anything set in /etc/profile, ~/.bash_profile, ~/.bash_login, or ~/.profile would definitely be skipped.



    Also, as explained by the bash man page:




    Bash attempts to determine when it is being run with its standard input connected to a network connection, as when executed by the remote shell daemon, usually rshd, or the secure shell daemon sshd. If bash determines it is being run in this fashion, it reads and executes commands from ~/.bashrc and ~/.bashrc, if these files exist and are readable.




    So if it doesn't think you're connecting across the network it might not read the .bashrc file either which would skip everything not skipped by the previous step.



    solution



    To work around this issue I would create a script that sets the PATH to something suitable and then run the command. If you want to use the existing .profile or other files then you can just source it in your script.






    share|improve this answer


















    • 2





      why not run with bash -l -c "command"

      – Max Ivak
      Nov 22 '17 at 21:23















    4














    When -c is specified bash is not running as interactive or a login shell so it won't read the same startup scripts. Anything set in /etc/profile, ~/.bash_profile, ~/.bash_login, or ~/.profile would definitely be skipped.



    Also, as explained by the bash man page:




    Bash attempts to determine when it is being run with its standard input connected to a network connection, as when executed by the remote shell daemon, usually rshd, or the secure shell daemon sshd. If bash determines it is being run in this fashion, it reads and executes commands from ~/.bashrc and ~/.bashrc, if these files exist and are readable.




    So if it doesn't think you're connecting across the network it might not read the .bashrc file either which would skip everything not skipped by the previous step.



    solution



    To work around this issue I would create a script that sets the PATH to something suitable and then run the command. If you want to use the existing .profile or other files then you can just source it in your script.






    share|improve this answer


















    • 2





      why not run with bash -l -c "command"

      – Max Ivak
      Nov 22 '17 at 21:23













    4












    4








    4







    When -c is specified bash is not running as interactive or a login shell so it won't read the same startup scripts. Anything set in /etc/profile, ~/.bash_profile, ~/.bash_login, or ~/.profile would definitely be skipped.



    Also, as explained by the bash man page:




    Bash attempts to determine when it is being run with its standard input connected to a network connection, as when executed by the remote shell daemon, usually rshd, or the secure shell daemon sshd. If bash determines it is being run in this fashion, it reads and executes commands from ~/.bashrc and ~/.bashrc, if these files exist and are readable.




    So if it doesn't think you're connecting across the network it might not read the .bashrc file either which would skip everything not skipped by the previous step.



    solution



    To work around this issue I would create a script that sets the PATH to something suitable and then run the command. If you want to use the existing .profile or other files then you can just source it in your script.






    share|improve this answer













    When -c is specified bash is not running as interactive or a login shell so it won't read the same startup scripts. Anything set in /etc/profile, ~/.bash_profile, ~/.bash_login, or ~/.profile would definitely be skipped.



    Also, as explained by the bash man page:




    Bash attempts to determine when it is being run with its standard input connected to a network connection, as when executed by the remote shell daemon, usually rshd, or the secure shell daemon sshd. If bash determines it is being run in this fashion, it reads and executes commands from ~/.bashrc and ~/.bashrc, if these files exist and are readable.




    So if it doesn't think you're connecting across the network it might not read the .bashrc file either which would skip everything not skipped by the previous step.



    solution



    To work around this issue I would create a script that sets the PATH to something suitable and then run the command. If you want to use the existing .profile or other files then you can just source it in your script.







    share|improve this answer












    share|improve this answer



    share|improve this answer










    answered Nov 23 '16 at 21:43









    chickschicks

    3,08572033




    3,08572033







    • 2





      why not run with bash -l -c "command"

      – Max Ivak
      Nov 22 '17 at 21:23












    • 2





      why not run with bash -l -c "command"

      – Max Ivak
      Nov 22 '17 at 21:23







    2




    2





    why not run with bash -l -c "command"

    – Max Ivak
    Nov 22 '17 at 21:23





    why not run with bash -l -c "command"

    – Max Ivak
    Nov 22 '17 at 21:23













    5














    In your first example:



    docker exec -i -t my_container bash -c "echo $PATH"


    That will evaluate the $PATH variable with your shell on your docker client, outside of the container, and then pass the expanded value as the command to run inside the container. You can compare the value of the above to running echo $PATH on the command line outside of docker and see that they are the same.



    In your second example:



    docker exec -i -t my_container bash 
    root@21e6d898c3c2:/# echo $PATH


    That will evaluate the $PATH variable inside the container.



    You can escape your first example, or single quote it to prevent the bash shell on your workstation from expanding it, so that it is evaluated inside the container. Either of the following would work:



    docker exec -i -t my_container bash -c "echo $PATH"
    docker exec -i -t my_container bash -c 'echo $PATH'





    share|improve this answer


















    • 1





      Or ... bash -c "printenv PATH" or ... bash -c "declare -p PATH" which pass only the name PATH (not its value) and let the program or shell inside the container do the lookup

      – dave_thompson_085
      May 10 at 3:48
















    5














    In your first example:



    docker exec -i -t my_container bash -c "echo $PATH"


    That will evaluate the $PATH variable with your shell on your docker client, outside of the container, and then pass the expanded value as the command to run inside the container. You can compare the value of the above to running echo $PATH on the command line outside of docker and see that they are the same.



    In your second example:



    docker exec -i -t my_container bash 
    root@21e6d898c3c2:/# echo $PATH


    That will evaluate the $PATH variable inside the container.



    You can escape your first example, or single quote it to prevent the bash shell on your workstation from expanding it, so that it is evaluated inside the container. Either of the following would work:



    docker exec -i -t my_container bash -c "echo $PATH"
    docker exec -i -t my_container bash -c 'echo $PATH'





    share|improve this answer


















    • 1





      Or ... bash -c "printenv PATH" or ... bash -c "declare -p PATH" which pass only the name PATH (not its value) and let the program or shell inside the container do the lookup

      – dave_thompson_085
      May 10 at 3:48














    5












    5








    5







    In your first example:



    docker exec -i -t my_container bash -c "echo $PATH"


    That will evaluate the $PATH variable with your shell on your docker client, outside of the container, and then pass the expanded value as the command to run inside the container. You can compare the value of the above to running echo $PATH on the command line outside of docker and see that they are the same.



    In your second example:



    docker exec -i -t my_container bash 
    root@21e6d898c3c2:/# echo $PATH


    That will evaluate the $PATH variable inside the container.



    You can escape your first example, or single quote it to prevent the bash shell on your workstation from expanding it, so that it is evaluated inside the container. Either of the following would work:



    docker exec -i -t my_container bash -c "echo $PATH"
    docker exec -i -t my_container bash -c 'echo $PATH'





    share|improve this answer













    In your first example:



    docker exec -i -t my_container bash -c "echo $PATH"


    That will evaluate the $PATH variable with your shell on your docker client, outside of the container, and then pass the expanded value as the command to run inside the container. You can compare the value of the above to running echo $PATH on the command line outside of docker and see that they are the same.



    In your second example:



    docker exec -i -t my_container bash 
    root@21e6d898c3c2:/# echo $PATH


    That will evaluate the $PATH variable inside the container.



    You can escape your first example, or single quote it to prevent the bash shell on your workstation from expanding it, so that it is evaluated inside the container. Either of the following would work:



    docker exec -i -t my_container bash -c "echo $PATH"
    docker exec -i -t my_container bash -c 'echo $PATH'






    share|improve this answer












    share|improve this answer



    share|improve this answer










    answered Nov 27 '17 at 21:22









    BMitchBMitch

    1,685714




    1,685714







    • 1





      Or ... bash -c "printenv PATH" or ... bash -c "declare -p PATH" which pass only the name PATH (not its value) and let the program or shell inside the container do the lookup

      – dave_thompson_085
      May 10 at 3:48













    • 1





      Or ... bash -c "printenv PATH" or ... bash -c "declare -p PATH" which pass only the name PATH (not its value) and let the program or shell inside the container do the lookup

      – dave_thompson_085
      May 10 at 3:48








    1




    1





    Or ... bash -c "printenv PATH" or ... bash -c "declare -p PATH" which pass only the name PATH (not its value) and let the program or shell inside the container do the lookup

    – dave_thompson_085
    May 10 at 3:48






    Or ... bash -c "printenv PATH" or ... bash -c "declare -p PATH" which pass only the name PATH (not its value) and let the program or shell inside the container do the lookup

    – dave_thompson_085
    May 10 at 3:48












    1














    Try the -l option for bash. It will run in login shell and load /etc/profile.



    docker exec -i -t my_container bash -lc "echo $PATH"





    share|improve this answer





























      1














      Try the -l option for bash. It will run in login shell and load /etc/profile.



      docker exec -i -t my_container bash -lc "echo $PATH"





      share|improve this answer



























        1












        1








        1







        Try the -l option for bash. It will run in login shell and load /etc/profile.



        docker exec -i -t my_container bash -lc "echo $PATH"





        share|improve this answer















        Try the -l option for bash. It will run in login shell and load /etc/profile.



        docker exec -i -t my_container bash -lc "echo $PATH"






        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited May 10 at 3:00









        chicks

        3,08572033




        3,08572033










        answered Nov 22 '17 at 21:23









        Max IvakMax Ivak

        1113




        1113



























            draft saved

            draft discarded
















































            Thanks for contributing an answer to Server Fault!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid


            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.

            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f816709%2fwhy-are-environment-variables-different-with-bash-c%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Club Baloncesto Breogán Índice Historia | Pavillón | Nome | O Breogán na cultura popular | Xogadores | Adestradores | Presidentes | Palmarés | Historial | Líderes | Notas | Véxase tamén | Menú de navegacióncbbreogan.galCadroGuía oficial da ACB 2009-10, páxina 201Guía oficial ACB 1992, páxina 183. Editorial DB.É de 6.500 espectadores sentados axeitándose á última normativa"Estudiantes Junior, entre as mellores canteiras"o orixinalHemeroteca El Mundo Deportivo, 16 setembro de 1970, páxina 12Historia do BreogánAlfredo Pérez, o último canoneiroHistoria C.B. BreogánHemeroteca de El Mundo DeportivoJimmy Wright, norteamericano do Breogán deixará Lugo por ameazas de morteResultados de Breogán en 1986-87Resultados de Breogán en 1990-91Ficha de Velimir Perasović en acb.comResultados de Breogán en 1994-95Breogán arrasa al Barça. "El Mundo Deportivo", 27 de setembro de 1999, páxina 58CB Breogán - FC BarcelonaA FEB invita a participar nunha nova Liga EuropeaCharlie Bell na prensa estatalMáximos anotadores 2005Tempada 2005-06 : Tódolos Xogadores da Xornada""Non quero pensar nunha man negra, mais pregúntome que está a pasar""o orixinalRaúl López, orgulloso dos xogadores, presume da boa saúde económica do BreogánJulio González confirma que cesa como presidente del BreogánHomenaxe a Lisardo GómezA tempada do rexurdimento celesteEntrevista a Lisardo GómezEl COB dinamita el Pazo para forzar el quinto (69-73)Cafés Candelas, patrocinador del CB Breogán"Suso Lázare, novo presidente do Breogán"o orixinalCafés Candelas Breogán firma el mayor triunfo de la historiaEl Breogán realizará 17 homenajes por su cincuenta aniversario"O Breogán honra ao seu fundador e primeiro presidente"o orixinalMiguel Giao recibiu a homenaxe do PazoHomenaxe aos primeiros gladiadores celestesO home que nos amosa como ver o Breo co corazónTita Franco será homenaxeada polos #50anosdeBreoJulio Vila recibirá unha homenaxe in memoriam polos #50anosdeBreo"O Breogán homenaxeará aos seus aboados máis veteráns"Pechada ovación a «Capi» Sanmartín e Ricardo «Corazón de González»Homenaxe por décadas de informaciónPaco García volve ao Pazo con motivo do 50 aniversario"Resultados y clasificaciones""O Cafés Candelas Breogán, campión da Copa Princesa""O Cafés Candelas Breogán, equipo ACB"C.B. Breogán"Proxecto social"o orixinal"Centros asociados"o orixinalFicha en imdb.comMario Camus trata la recuperación del amor en 'La vieja música', su última película"Páxina web oficial""Club Baloncesto Breogán""C. B. Breogán S.A.D."eehttp://www.fegaba.com

            Vilaño, A Laracha Índice Patrimonio | Lugares e parroquias | Véxase tamén | Menú de navegación43°14′52″N 8°36′03″O / 43.24775, -8.60070

            Cegueira Índice Epidemioloxía | Deficiencia visual | Tipos de cegueira | Principais causas de cegueira | Tratamento | Técnicas de adaptación e axudas | Vida dos cegos | Primeiros auxilios | Crenzas respecto das persoas cegas | Crenzas das persoas cegas | O neno deficiente visual | Aspectos psicolóxicos da cegueira | Notas | Véxase tamén | Menú de navegación54.054.154.436928256blindnessDicionario da Real Academia GalegaPortal das Palabras"International Standards: Visual Standards — Aspects and Ranges of Vision Loss with Emphasis on Population Surveys.""Visual impairment and blindness""Presentan un plan para previr a cegueira"o orixinalACCDV Associació Catalana de Cecs i Disminuïts Visuals - PMFTrachoma"Effect of gene therapy on visual function in Leber's congenital amaurosis"1844137110.1056/NEJMoa0802268Cans guía - os mellores amigos dos cegosArquivadoEscola de cans guía para cegos en Mortágua, PortugalArquivado"Tecnología para ciegos y deficientes visuales. Recopilación de recursos gratuitos en la Red""Colorino""‘COL.diesis’, escuchar los sonidos del color""COL.diesis: Transforming Colour into Melody and Implementing the Result in a Colour Sensor Device"o orixinal"Sistema de desarrollo de sinestesia color-sonido para invidentes utilizando un protocolo de audio""Enseñanza táctil - geometría y color. Juegos didácticos para niños ciegos y videntes""Sistema Constanz"L'ocupació laboral dels cecs a l'Estat espanyol està pràcticament equiparada a la de les persones amb visió, entrevista amb Pedro ZuritaONCE (Organización Nacional de Cegos de España)Prevención da cegueiraDescrición de deficiencias visuais (Disc@pnet)Braillín, un boneco atractivo para calquera neno, con ou sen discapacidade, que permite familiarizarse co sistema de escritura e lectura brailleAxudas Técnicas36838ID00897494007150-90057129528256DOID:1432HP:0000618D001766C10.597.751.941.162C97109C0155020