Issue with type force PATH search Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern) 2019 Community Moderator Election Results Why I closed the “Why is Kali so hard” questionBash script class path issue with javaWhen is /etc/bash.bashrc invoked?How do I explicitly and safely force the use of a built-in command in bashUse system command instead of Bash builtin without specifying the full pathWhat does “is hashed” mean when using the type command?bash while/read loop behaves differently in a mips/musl/busybox based VMHow to stop fish shell from underlining path?Don't search PATH when sourcing a filegetting only the path out of `type -p prog` commandPortable way to run command without PATH from bash script

Why is there so little support for joining EFTA in the British parliament?

How to ask rejected full-time candidates to apply to teach individual courses?

Does the main washing effect of soap come from foam?

What does 丫 mean? 丫是什么意思?

"Destructive power" carried by a B-52?

Why are two-digit numbers in Jonathan Swift's "Gulliver's Travels" (1726) written in "German style"?

The Nth Gryphon Number

Statistical analysis applied to methods coming out of Machine Learning

How do you write "wild blueberries flavored"?

Marquee sign letters

My mentor says to set image to Fine instead of RAW — how is this different from JPG?

Inverse square law not accurate for non-point masses?

Noise in Eigenvalues plot

.bashrc alias for a command with fixed second parameter

newbie Q : How to read an output file in one command line

3D Masyu - A Die

Found this skink in my tomato plant bucket. Is he trapped? Or could he leave if he wanted?

Baking rewards as operations

Table formatting with tabularx?

As a dual citizen, my US passport will expire one day after traveling to the US. Will this work?

Diophantine equation 3^a+1=3^b+5^c

Keep at all times, the minus sign above aligned with minus sign below

By what mechanism was the 2017 UK General Election called?

calculator's angle answer for trig ratios that can work in more than 1 quadrant on the unit circle



Issue with type force PATH search



Announcing the arrival of Valued Associate #679: Cesar Manara
Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern)
2019 Community Moderator Election Results
Why I closed the “Why is Kali so hard” questionBash script class path issue with javaWhen is /etc/bash.bashrc invoked?How do I explicitly and safely force the use of a built-in command in bashUse system command instead of Bash builtin without specifying the full pathWhat does “is hashed” mean when using the type command?bash while/read loop behaves differently in a mips/musl/busybox based VMHow to stop fish shell from underlining path?Don't search PATH when sourcing a filegetting only the path out of `type -p prog` commandPortable way to run command without PATH from bash script



.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








3















This is Bash. The behavior is similar in fish.



$ which python
/usr/bin/python
$ alias py=python
$ type py
py is aliased to `python'


​And then, running type -P py prints nothing, where as I expected to print /usr/bin/pyton in a similar fashion to what is seen below.​



$ type ls
ls is aliased to `ls --color=auto'
$ type -P ls
/bin/ls


The documentation for the -P option reads



 -P force a PATH search for each NAME, even if it is an alias,
builtin, or function, and returns the name of the disk file
that would be executed


I've confirmed that /usr/bin (the directory where python is located) is in PATH.



What is going on here?










share|improve this question






























    3















    This is Bash. The behavior is similar in fish.



    $ which python
    /usr/bin/python
    $ alias py=python
    $ type py
    py is aliased to `python'


    ​And then, running type -P py prints nothing, where as I expected to print /usr/bin/pyton in a similar fashion to what is seen below.​



    $ type ls
    ls is aliased to `ls --color=auto'
    $ type -P ls
    /bin/ls


    The documentation for the -P option reads



     -P force a PATH search for each NAME, even if it is an alias,
    builtin, or function, and returns the name of the disk file
    that would be executed


    I've confirmed that /usr/bin (the directory where python is located) is in PATH.



    What is going on here?










    share|improve this question


























      3












      3








      3


      1






      This is Bash. The behavior is similar in fish.



      $ which python
      /usr/bin/python
      $ alias py=python
      $ type py
      py is aliased to `python'


      ​And then, running type -P py prints nothing, where as I expected to print /usr/bin/pyton in a similar fashion to what is seen below.​



      $ type ls
      ls is aliased to `ls --color=auto'
      $ type -P ls
      /bin/ls


      The documentation for the -P option reads



       -P force a PATH search for each NAME, even if it is an alias,
      builtin, or function, and returns the name of the disk file
      that would be executed


      I've confirmed that /usr/bin (the directory where python is located) is in PATH.



      What is going on here?










      share|improve this question
















      This is Bash. The behavior is similar in fish.



      $ which python
      /usr/bin/python
      $ alias py=python
      $ type py
      py is aliased to `python'


      ​And then, running type -P py prints nothing, where as I expected to print /usr/bin/pyton in a similar fashion to what is seen below.​



      $ type ls
      ls is aliased to `ls --color=auto'
      $ type -P ls
      /bin/ls


      The documentation for the -P option reads



       -P force a PATH search for each NAME, even if it is an alias,
      builtin, or function, and returns the name of the disk file
      that would be executed


      I've confirmed that /usr/bin (the directory where python is located) is in PATH.



      What is going on here?







      bash fish shell-builtin






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Apr 4 at 9:08







      Git Gud

















      asked Apr 4 at 8:50









      Git GudGit Gud

      1375




      1375




















          2 Answers
          2






          active

          oldest

          votes


















          9














          This:




          force a PATH search for each NAME, even if it is an alias,




          does not mean that bash will expand the alias and then search for the expanded command. It means that, if there were a command foo, and also an alias foo, the type -P foo will still look for the command named foo, even though there's an alias masking it. So bash isn't expanding py in type -P py to be python, and it won't show /usr/bin/python.






          share|improve this answer























          • Well, this could be clearer. Thanks.

            – Git Gud
            Apr 4 at 8:56











          • Seems clear enough. NAME is the argument to type, not an alias expansion of the argument.

            – chepner
            Apr 4 at 18:42



















          4














          What’s going on is that your shell is looking for a binary named py in each directory on your PATH, and not finding any.



          type -P doesn’t interpret aliases or functions; it forces the given name to be searched on the path, ignoring any other available command not of type “file” with the same name.



          (There’s an added subtlety with type -p and type -P: they take hashes into account, so they will show a hashed value if one exists, without looking in the PATH. But that’s not involved here.)






          share|improve this answer























            Your Answer








            StackExchange.ready(function()
            var channelOptions =
            tags: "".split(" "),
            id: "106"
            ;
            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: false,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: null,
            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%2funix.stackexchange.com%2fquestions%2f510450%2fissue-with-type-force-path-search%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown

























            2 Answers
            2






            active

            oldest

            votes








            2 Answers
            2






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            9














            This:




            force a PATH search for each NAME, even if it is an alias,




            does not mean that bash will expand the alias and then search for the expanded command. It means that, if there were a command foo, and also an alias foo, the type -P foo will still look for the command named foo, even though there's an alias masking it. So bash isn't expanding py in type -P py to be python, and it won't show /usr/bin/python.






            share|improve this answer























            • Well, this could be clearer. Thanks.

              – Git Gud
              Apr 4 at 8:56











            • Seems clear enough. NAME is the argument to type, not an alias expansion of the argument.

              – chepner
              Apr 4 at 18:42
















            9














            This:




            force a PATH search for each NAME, even if it is an alias,




            does not mean that bash will expand the alias and then search for the expanded command. It means that, if there were a command foo, and also an alias foo, the type -P foo will still look for the command named foo, even though there's an alias masking it. So bash isn't expanding py in type -P py to be python, and it won't show /usr/bin/python.






            share|improve this answer























            • Well, this could be clearer. Thanks.

              – Git Gud
              Apr 4 at 8:56











            • Seems clear enough. NAME is the argument to type, not an alias expansion of the argument.

              – chepner
              Apr 4 at 18:42














            9












            9








            9







            This:




            force a PATH search for each NAME, even if it is an alias,




            does not mean that bash will expand the alias and then search for the expanded command. It means that, if there were a command foo, and also an alias foo, the type -P foo will still look for the command named foo, even though there's an alias masking it. So bash isn't expanding py in type -P py to be python, and it won't show /usr/bin/python.






            share|improve this answer













            This:




            force a PATH search for each NAME, even if it is an alias,




            does not mean that bash will expand the alias and then search for the expanded command. It means that, if there were a command foo, and also an alias foo, the type -P foo will still look for the command named foo, even though there's an alias masking it. So bash isn't expanding py in type -P py to be python, and it won't show /usr/bin/python.







            share|improve this answer












            share|improve this answer



            share|improve this answer










            answered Apr 4 at 8:55









            murumuru

            38k590166




            38k590166












            • Well, this could be clearer. Thanks.

              – Git Gud
              Apr 4 at 8:56











            • Seems clear enough. NAME is the argument to type, not an alias expansion of the argument.

              – chepner
              Apr 4 at 18:42


















            • Well, this could be clearer. Thanks.

              – Git Gud
              Apr 4 at 8:56











            • Seems clear enough. NAME is the argument to type, not an alias expansion of the argument.

              – chepner
              Apr 4 at 18:42

















            Well, this could be clearer. Thanks.

            – Git Gud
            Apr 4 at 8:56





            Well, this could be clearer. Thanks.

            – Git Gud
            Apr 4 at 8:56













            Seems clear enough. NAME is the argument to type, not an alias expansion of the argument.

            – chepner
            Apr 4 at 18:42






            Seems clear enough. NAME is the argument to type, not an alias expansion of the argument.

            – chepner
            Apr 4 at 18:42














            4














            What’s going on is that your shell is looking for a binary named py in each directory on your PATH, and not finding any.



            type -P doesn’t interpret aliases or functions; it forces the given name to be searched on the path, ignoring any other available command not of type “file” with the same name.



            (There’s an added subtlety with type -p and type -P: they take hashes into account, so they will show a hashed value if one exists, without looking in the PATH. But that’s not involved here.)






            share|improve this answer



























              4














              What’s going on is that your shell is looking for a binary named py in each directory on your PATH, and not finding any.



              type -P doesn’t interpret aliases or functions; it forces the given name to be searched on the path, ignoring any other available command not of type “file” with the same name.



              (There’s an added subtlety with type -p and type -P: they take hashes into account, so they will show a hashed value if one exists, without looking in the PATH. But that’s not involved here.)






              share|improve this answer

























                4












                4








                4







                What’s going on is that your shell is looking for a binary named py in each directory on your PATH, and not finding any.



                type -P doesn’t interpret aliases or functions; it forces the given name to be searched on the path, ignoring any other available command not of type “file” with the same name.



                (There’s an added subtlety with type -p and type -P: they take hashes into account, so they will show a hashed value if one exists, without looking in the PATH. But that’s not involved here.)






                share|improve this answer













                What’s going on is that your shell is looking for a binary named py in each directory on your PATH, and not finding any.



                type -P doesn’t interpret aliases or functions; it forces the given name to be searched on the path, ignoring any other available command not of type “file” with the same name.



                (There’s an added subtlety with type -p and type -P: they take hashes into account, so they will show a hashed value if one exists, without looking in the PATH. But that’s not involved here.)







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Apr 4 at 8:54









                Stephen KittStephen Kitt

                182k26420498




                182k26420498



























                    draft saved

                    draft discarded
















































                    Thanks for contributing an answer to Unix & Linux Stack Exchange!


                    • 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%2funix.stackexchange.com%2fquestions%2f510450%2fissue-with-type-force-path-search%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

                    Quoting Keynes in a lectureIs differentiated instruction permitted by universities?How to make students learn prerequisitesUnsatisfactory Instructor Evaluations: balancing of expectations of engineering studentsWhat is the difference between a “statistician”, “applied statistician”, and an academic applying advanced stats within their field?Listing in reference section, but not quotingHow to efficiently use time while preparing for a class?Graduate Admissions: Teaching Emphasisstrategies for sharing teaching information with universities I don't personally have contacts withIs there an efficient way to give a large class of students feedback about their assignments?Is it unreasonable to expect students to read the lecture notes before attending the first class?

                    Rank groups within a grouped sequence of TRUE/FALSE and NAGrouping functions (tapply, by, aggregate) and the *apply familyCharacters counting and subletting specific patternsWhat is the purpose of setting a key in data.table?data.table vs dplyr: can one do something well the other can't or does poorly?how to make a bar plot for a list of dataframes?How to group by unique values in a list in RPandas - Alternative to rank() function that gives unique ordinal ranks for a columnRank within group in for loop in RData transformation: from dyadic to observational data in RGetting map from purrr to work with paste0

                    Are all passive ability checks floors for active ability checks?Does passive perception supersede active perception?Which skills can be used passively?Active Opposition with Free-Form Professions in Fate5E Trap/Ambush/Stealth Mechanics VS Passive Perception ConfusionInteraction between perception and stealth in obscured conditionsHow does Keen Sight affect Passive Perception?Are all d20 rolls either attacks, saves or ability checks?Can players declare that they are making a specific ability check?Can I see a Hidden creature that is not obscured at all?Can a Stealth check ever be made passively?Is this alternate version of the Observant feat balanced?What is the minimum amount of skill points per HD?