“which” command doesn't work / path of Safari?Reset your PATH variableIn OSX Yosemite, why can I set many...
Information to fellow intern about hiring?
Manga about a female worker who got dragged into another world together with this high school girl and she was just told she's not needed anymore
Could Giant Ground Sloths have been a good pack animal for the ancient Mayans?
How to manage monthly salary
Was there ever an axiom rendered a theorem?
Could a US political party gain complete control over the government by removing checks & balances?
How to make payment on the internet without leaving a money trail?
How to make particles emit from certain parts of a 3D object?
Why do we use polarized capacitors?
Where to refill my bottle in India?
What is GPS' 19 year rollover and does it present a cybersecurity issue?
Can I find out the caloric content of bread by dehydrating it?
"listening to me about as much as you're listening to this pole here"
Is every set a filtered colimit of finite sets?
Email Account under attack (really) - anything I can do?
New order #4: World
Why is my log file so massive? 22gb. I am running log backups
If a centaur druid Wild Shapes into a Giant Elk, do their Charge features stack?
How would photo IDs work for shapeshifters?
Is there a name of the flying bionic bird?
How to move the player while also allowing forces to affect it
Symmetry in quantum mechanics
Why doesn't a const reference extend the life of a temporary object passed via a function?
Is Social Media Science Fiction?
“which” command doesn't work / path of Safari?
Reset your PATH variableIn OSX Yosemite, why can I set many environment variables for GUI apps, but cannot set the specific variable PATHIn the light of the FREAK TLS vulnerability, how may I disable insecure cipher suites manually in Safari?Adding a directory to $PATH doesn't work in YosemiteA complicated script to automate functions in SafariTerminal command to clear DNS cache doesn't seem to workCommand found with `which` at the new paths but still tries to run from the old pathHow can I move files or directories marked as a backup?mysql on OSX suddenly stopped functioning, unable to locate or connectCommand path for exit
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ margin-bottom:0;
}
Why can’t I locate programs like Chrome or Safari or FireFox with the which
command line tool?
pasocon:~ ThisUser$ which python
/anaconda3/bin/python
pasocon:~ ThisUser$ which firefox
pasocon:~ ThisUser$ which Safari
pasocon:~ ThisUser$ which chrome
pasocon:~ ThisUser$
This is what I get with the which
command. It is not giving me the path for many applications. Am I making a mistake here or is this potentially an issue to be fixed?
Alternatively, I was just looking for the path of Safari (so that you can open Safari by directing to this path in a configuration file). I am sure this is basic knowledge but I've somehow failed to find it.
macos terminal safari command-line path
New contributor
add a comment |
Why can’t I locate programs like Chrome or Safari or FireFox with the which
command line tool?
pasocon:~ ThisUser$ which python
/anaconda3/bin/python
pasocon:~ ThisUser$ which firefox
pasocon:~ ThisUser$ which Safari
pasocon:~ ThisUser$ which chrome
pasocon:~ ThisUser$
This is what I get with the which
command. It is not giving me the path for many applications. Am I making a mistake here or is this potentially an issue to be fixed?
Alternatively, I was just looking for the path of Safari (so that you can open Safari by directing to this path in a configuration file). I am sure this is basic knowledge but I've somehow failed to find it.
macos terminal safari command-line path
New contributor
add a comment |
Why can’t I locate programs like Chrome or Safari or FireFox with the which
command line tool?
pasocon:~ ThisUser$ which python
/anaconda3/bin/python
pasocon:~ ThisUser$ which firefox
pasocon:~ ThisUser$ which Safari
pasocon:~ ThisUser$ which chrome
pasocon:~ ThisUser$
This is what I get with the which
command. It is not giving me the path for many applications. Am I making a mistake here or is this potentially an issue to be fixed?
Alternatively, I was just looking for the path of Safari (so that you can open Safari by directing to this path in a configuration file). I am sure this is basic knowledge but I've somehow failed to find it.
macos terminal safari command-line path
New contributor
Why can’t I locate programs like Chrome or Safari or FireFox with the which
command line tool?
pasocon:~ ThisUser$ which python
/anaconda3/bin/python
pasocon:~ ThisUser$ which firefox
pasocon:~ ThisUser$ which Safari
pasocon:~ ThisUser$ which chrome
pasocon:~ ThisUser$
This is what I get with the which
command. It is not giving me the path for many applications. Am I making a mistake here or is this potentially an issue to be fixed?
Alternatively, I was just looking for the path of Safari (so that you can open Safari by directing to this path in a configuration file). I am sure this is basic knowledge but I've somehow failed to find it.
macos terminal safari command-line path
macos terminal safari command-line path
New contributor
New contributor
edited yesterday
bmike♦
161k46290629
161k46290629
New contributor
asked yesterday
RethliopuksRethliopuks
1183
1183
New contributor
New contributor
add a comment |
add a comment |
4 Answers
4
active
oldest
votes
which
searches for binaries in the $PATH, a.k.a. command-line tools. User applications are not such tools and not available in the command line.
While Safari.app is an application, the Safari
binary is not usually added to the $PATH because it is not a command line tool — if you just run Safari
in Terminal your shell will inform you that the command cannot be found.
To find the path to an application, you can use lsregister, which is a tool for adding and querying the Launch Services database, used by macOS in part to find applications.
/System/Library/Frameworks/CoreServices.framework/
Versions/A/Frameworks/LaunchServices.framework/
Versions/A/Support/lsregister
You can -dump
the database and filter with grep
.
/System/L*/Fr*/CoreSe*/V*/A/F*/L*/V*/A/S*/lsregister -dump |
grep -ie "path:.*safari"
path: /Applications/Safari.app
This will return every instance of Safari registered with Launch Services, which will include backups. If you just want to open Safari, you shouldn't be dealing with getting paths and handling it yourself; instead, get macOS to do that for you: open -a Safari
.
2
As much as I love the wildcards, I worry that someday Apple will add another service with a similar path and break the commands. It would be good to expand the path fully; it also makes it clearer just what’s being executed.
– nneonneo
yesterday
1
@nneonneo I was under the impression that first point wasn’t an issue, since providing the full name of the tool at the end will ensure the correct tool is always found, for example try running/System/*/*/*/*/A/*/*/*/A/*/lsregister
— the path given in the answer will be faster than the path in this comment since the answer provides enough to be unique, but both should work just as well! (‘A’ is preserved in this minimal path since ‘Current’ is symlinked to ‘A’.) I’ll see about grabbing the full path and adding it to the answer if you really think it improves clarity.
– grg♦
yesterday
1
I mean, I just don’t see how a bunch of wildcards is clear at all as to what’s being run. I would much rather see a long, deep path than a bunch of wildcards, and I think that would be a lot clearer.
– nneonneo
yesterday
add a comment |
This is working as designed.
which is a command line executable that looks on your path (and other parts of shell environment) to find things you can start from the command line
Applications like Safari (anything bundled as an application which will be a directory ending in .app with certain files in specific sub directories) are not launched from the command line. They are launched from the desktop and not via any shell commands.
You can however launch applications from the command line using the command open. man open gives details. The example to launch Safari is open -a Safari
Note that if you are trying to open Safari when you login putting this command in your shell files will not work as the shell is not run until you launch Terminal.app.
The easiest way to launch Safari at login is to run the app from the desktop, right click on the app's icon in the dock and choose Options then Open at Login.
There is also a list of things that are launched at login for each user in System Preferences->Users & Groups and this can be edited there.
add a comment |
On macOS applications aren‘t part of the standard PATH and can‘t be started by calling them from the command line (well, yes, they can, but it‘s not so easy). But you can use
open foo.html
or
open -a Safari
to start Safari from bash.
add a comment |
Add following in your .bash_profile.
alias safari="/Applications/Safari.app/Contents/MacOS/Safari"
You can now start safari in your Terminal. As mentioned before, .app are bundles and cannot start directly from Terminal.
To Edit your .bash_profile:
Type in Terminal nano .bash_profile (make sure your are in your home-directory test it with the
pwd
command. Usually/Users/Username
.add the alias Line above at the end of the document.
- type CTRL-O to save the file
- type CTRL-X to exit nano
- type
source .bash_profile
to update - type safari to start Safari.
You can do this with most of the applications in the /Application-Folder.
1
This is a very special case - I would think open is the better command unless you have a very special need.
– Mark
yesterday
add a comment |
4 Answers
4
active
oldest
votes
4 Answers
4
active
oldest
votes
active
oldest
votes
active
oldest
votes
which
searches for binaries in the $PATH, a.k.a. command-line tools. User applications are not such tools and not available in the command line.
While Safari.app is an application, the Safari
binary is not usually added to the $PATH because it is not a command line tool — if you just run Safari
in Terminal your shell will inform you that the command cannot be found.
To find the path to an application, you can use lsregister, which is a tool for adding and querying the Launch Services database, used by macOS in part to find applications.
/System/Library/Frameworks/CoreServices.framework/
Versions/A/Frameworks/LaunchServices.framework/
Versions/A/Support/lsregister
You can -dump
the database and filter with grep
.
/System/L*/Fr*/CoreSe*/V*/A/F*/L*/V*/A/S*/lsregister -dump |
grep -ie "path:.*safari"
path: /Applications/Safari.app
This will return every instance of Safari registered with Launch Services, which will include backups. If you just want to open Safari, you shouldn't be dealing with getting paths and handling it yourself; instead, get macOS to do that for you: open -a Safari
.
2
As much as I love the wildcards, I worry that someday Apple will add another service with a similar path and break the commands. It would be good to expand the path fully; it also makes it clearer just what’s being executed.
– nneonneo
yesterday
1
@nneonneo I was under the impression that first point wasn’t an issue, since providing the full name of the tool at the end will ensure the correct tool is always found, for example try running/System/*/*/*/*/A/*/*/*/A/*/lsregister
— the path given in the answer will be faster than the path in this comment since the answer provides enough to be unique, but both should work just as well! (‘A’ is preserved in this minimal path since ‘Current’ is symlinked to ‘A’.) I’ll see about grabbing the full path and adding it to the answer if you really think it improves clarity.
– grg♦
yesterday
1
I mean, I just don’t see how a bunch of wildcards is clear at all as to what’s being run. I would much rather see a long, deep path than a bunch of wildcards, and I think that would be a lot clearer.
– nneonneo
yesterday
add a comment |
which
searches for binaries in the $PATH, a.k.a. command-line tools. User applications are not such tools and not available in the command line.
While Safari.app is an application, the Safari
binary is not usually added to the $PATH because it is not a command line tool — if you just run Safari
in Terminal your shell will inform you that the command cannot be found.
To find the path to an application, you can use lsregister, which is a tool for adding and querying the Launch Services database, used by macOS in part to find applications.
/System/Library/Frameworks/CoreServices.framework/
Versions/A/Frameworks/LaunchServices.framework/
Versions/A/Support/lsregister
You can -dump
the database and filter with grep
.
/System/L*/Fr*/CoreSe*/V*/A/F*/L*/V*/A/S*/lsregister -dump |
grep -ie "path:.*safari"
path: /Applications/Safari.app
This will return every instance of Safari registered with Launch Services, which will include backups. If you just want to open Safari, you shouldn't be dealing with getting paths and handling it yourself; instead, get macOS to do that for you: open -a Safari
.
2
As much as I love the wildcards, I worry that someday Apple will add another service with a similar path and break the commands. It would be good to expand the path fully; it also makes it clearer just what’s being executed.
– nneonneo
yesterday
1
@nneonneo I was under the impression that first point wasn’t an issue, since providing the full name of the tool at the end will ensure the correct tool is always found, for example try running/System/*/*/*/*/A/*/*/*/A/*/lsregister
— the path given in the answer will be faster than the path in this comment since the answer provides enough to be unique, but both should work just as well! (‘A’ is preserved in this minimal path since ‘Current’ is symlinked to ‘A’.) I’ll see about grabbing the full path and adding it to the answer if you really think it improves clarity.
– grg♦
yesterday
1
I mean, I just don’t see how a bunch of wildcards is clear at all as to what’s being run. I would much rather see a long, deep path than a bunch of wildcards, and I think that would be a lot clearer.
– nneonneo
yesterday
add a comment |
which
searches for binaries in the $PATH, a.k.a. command-line tools. User applications are not such tools and not available in the command line.
While Safari.app is an application, the Safari
binary is not usually added to the $PATH because it is not a command line tool — if you just run Safari
in Terminal your shell will inform you that the command cannot be found.
To find the path to an application, you can use lsregister, which is a tool for adding and querying the Launch Services database, used by macOS in part to find applications.
/System/Library/Frameworks/CoreServices.framework/
Versions/A/Frameworks/LaunchServices.framework/
Versions/A/Support/lsregister
You can -dump
the database and filter with grep
.
/System/L*/Fr*/CoreSe*/V*/A/F*/L*/V*/A/S*/lsregister -dump |
grep -ie "path:.*safari"
path: /Applications/Safari.app
This will return every instance of Safari registered with Launch Services, which will include backups. If you just want to open Safari, you shouldn't be dealing with getting paths and handling it yourself; instead, get macOS to do that for you: open -a Safari
.
which
searches for binaries in the $PATH, a.k.a. command-line tools. User applications are not such tools and not available in the command line.
While Safari.app is an application, the Safari
binary is not usually added to the $PATH because it is not a command line tool — if you just run Safari
in Terminal your shell will inform you that the command cannot be found.
To find the path to an application, you can use lsregister, which is a tool for adding and querying the Launch Services database, used by macOS in part to find applications.
/System/Library/Frameworks/CoreServices.framework/
Versions/A/Frameworks/LaunchServices.framework/
Versions/A/Support/lsregister
You can -dump
the database and filter with grep
.
/System/L*/Fr*/CoreSe*/V*/A/F*/L*/V*/A/S*/lsregister -dump |
grep -ie "path:.*safari"
path: /Applications/Safari.app
This will return every instance of Safari registered with Launch Services, which will include backups. If you just want to open Safari, you shouldn't be dealing with getting paths and handling it yourself; instead, get macOS to do that for you: open -a Safari
.
edited 18 hours ago
answered yesterday
grg♦grg
138k25219323
138k25219323
2
As much as I love the wildcards, I worry that someday Apple will add another service with a similar path and break the commands. It would be good to expand the path fully; it also makes it clearer just what’s being executed.
– nneonneo
yesterday
1
@nneonneo I was under the impression that first point wasn’t an issue, since providing the full name of the tool at the end will ensure the correct tool is always found, for example try running/System/*/*/*/*/A/*/*/*/A/*/lsregister
— the path given in the answer will be faster than the path in this comment since the answer provides enough to be unique, but both should work just as well! (‘A’ is preserved in this minimal path since ‘Current’ is symlinked to ‘A’.) I’ll see about grabbing the full path and adding it to the answer if you really think it improves clarity.
– grg♦
yesterday
1
I mean, I just don’t see how a bunch of wildcards is clear at all as to what’s being run. I would much rather see a long, deep path than a bunch of wildcards, and I think that would be a lot clearer.
– nneonneo
yesterday
add a comment |
2
As much as I love the wildcards, I worry that someday Apple will add another service with a similar path and break the commands. It would be good to expand the path fully; it also makes it clearer just what’s being executed.
– nneonneo
yesterday
1
@nneonneo I was under the impression that first point wasn’t an issue, since providing the full name of the tool at the end will ensure the correct tool is always found, for example try running/System/*/*/*/*/A/*/*/*/A/*/lsregister
— the path given in the answer will be faster than the path in this comment since the answer provides enough to be unique, but both should work just as well! (‘A’ is preserved in this minimal path since ‘Current’ is symlinked to ‘A’.) I’ll see about grabbing the full path and adding it to the answer if you really think it improves clarity.
– grg♦
yesterday
1
I mean, I just don’t see how a bunch of wildcards is clear at all as to what’s being run. I would much rather see a long, deep path than a bunch of wildcards, and I think that would be a lot clearer.
– nneonneo
yesterday
2
2
As much as I love the wildcards, I worry that someday Apple will add another service with a similar path and break the commands. It would be good to expand the path fully; it also makes it clearer just what’s being executed.
– nneonneo
yesterday
As much as I love the wildcards, I worry that someday Apple will add another service with a similar path and break the commands. It would be good to expand the path fully; it also makes it clearer just what’s being executed.
– nneonneo
yesterday
1
1
@nneonneo I was under the impression that first point wasn’t an issue, since providing the full name of the tool at the end will ensure the correct tool is always found, for example try running
/System/*/*/*/*/A/*/*/*/A/*/lsregister
— the path given in the answer will be faster than the path in this comment since the answer provides enough to be unique, but both should work just as well! (‘A’ is preserved in this minimal path since ‘Current’ is symlinked to ‘A’.) I’ll see about grabbing the full path and adding it to the answer if you really think it improves clarity.– grg♦
yesterday
@nneonneo I was under the impression that first point wasn’t an issue, since providing the full name of the tool at the end will ensure the correct tool is always found, for example try running
/System/*/*/*/*/A/*/*/*/A/*/lsregister
— the path given in the answer will be faster than the path in this comment since the answer provides enough to be unique, but both should work just as well! (‘A’ is preserved in this minimal path since ‘Current’ is symlinked to ‘A’.) I’ll see about grabbing the full path and adding it to the answer if you really think it improves clarity.– grg♦
yesterday
1
1
I mean, I just don’t see how a bunch of wildcards is clear at all as to what’s being run. I would much rather see a long, deep path than a bunch of wildcards, and I think that would be a lot clearer.
– nneonneo
yesterday
I mean, I just don’t see how a bunch of wildcards is clear at all as to what’s being run. I would much rather see a long, deep path than a bunch of wildcards, and I think that would be a lot clearer.
– nneonneo
yesterday
add a comment |
This is working as designed.
which is a command line executable that looks on your path (and other parts of shell environment) to find things you can start from the command line
Applications like Safari (anything bundled as an application which will be a directory ending in .app with certain files in specific sub directories) are not launched from the command line. They are launched from the desktop and not via any shell commands.
You can however launch applications from the command line using the command open. man open gives details. The example to launch Safari is open -a Safari
Note that if you are trying to open Safari when you login putting this command in your shell files will not work as the shell is not run until you launch Terminal.app.
The easiest way to launch Safari at login is to run the app from the desktop, right click on the app's icon in the dock and choose Options then Open at Login.
There is also a list of things that are launched at login for each user in System Preferences->Users & Groups and this can be edited there.
add a comment |
This is working as designed.
which is a command line executable that looks on your path (and other parts of shell environment) to find things you can start from the command line
Applications like Safari (anything bundled as an application which will be a directory ending in .app with certain files in specific sub directories) are not launched from the command line. They are launched from the desktop and not via any shell commands.
You can however launch applications from the command line using the command open. man open gives details. The example to launch Safari is open -a Safari
Note that if you are trying to open Safari when you login putting this command in your shell files will not work as the shell is not run until you launch Terminal.app.
The easiest way to launch Safari at login is to run the app from the desktop, right click on the app's icon in the dock and choose Options then Open at Login.
There is also a list of things that are launched at login for each user in System Preferences->Users & Groups and this can be edited there.
add a comment |
This is working as designed.
which is a command line executable that looks on your path (and other parts of shell environment) to find things you can start from the command line
Applications like Safari (anything bundled as an application which will be a directory ending in .app with certain files in specific sub directories) are not launched from the command line. They are launched from the desktop and not via any shell commands.
You can however launch applications from the command line using the command open. man open gives details. The example to launch Safari is open -a Safari
Note that if you are trying to open Safari when you login putting this command in your shell files will not work as the shell is not run until you launch Terminal.app.
The easiest way to launch Safari at login is to run the app from the desktop, right click on the app's icon in the dock and choose Options then Open at Login.
There is also a list of things that are launched at login for each user in System Preferences->Users & Groups and this can be edited there.
This is working as designed.
which is a command line executable that looks on your path (and other parts of shell environment) to find things you can start from the command line
Applications like Safari (anything bundled as an application which will be a directory ending in .app with certain files in specific sub directories) are not launched from the command line. They are launched from the desktop and not via any shell commands.
You can however launch applications from the command line using the command open. man open gives details. The example to launch Safari is open -a Safari
Note that if you are trying to open Safari when you login putting this command in your shell files will not work as the shell is not run until you launch Terminal.app.
The easiest way to launch Safari at login is to run the app from the desktop, right click on the app's icon in the dock and choose Options then Open at Login.
There is also a list of things that are launched at login for each user in System Preferences->Users & Groups and this can be edited there.
answered yesterday
MarkMark
20.3k115795
20.3k115795
add a comment |
add a comment |
On macOS applications aren‘t part of the standard PATH and can‘t be started by calling them from the command line (well, yes, they can, but it‘s not so easy). But you can use
open foo.html
or
open -a Safari
to start Safari from bash.
add a comment |
On macOS applications aren‘t part of the standard PATH and can‘t be started by calling them from the command line (well, yes, they can, but it‘s not so easy). But you can use
open foo.html
or
open -a Safari
to start Safari from bash.
add a comment |
On macOS applications aren‘t part of the standard PATH and can‘t be started by calling them from the command line (well, yes, they can, but it‘s not so easy). But you can use
open foo.html
or
open -a Safari
to start Safari from bash.
On macOS applications aren‘t part of the standard PATH and can‘t be started by calling them from the command line (well, yes, they can, but it‘s not so easy). But you can use
open foo.html
or
open -a Safari
to start Safari from bash.
answered yesterday
nohillside♦nohillside
53.3k14112157
53.3k14112157
add a comment |
add a comment |
Add following in your .bash_profile.
alias safari="/Applications/Safari.app/Contents/MacOS/Safari"
You can now start safari in your Terminal. As mentioned before, .app are bundles and cannot start directly from Terminal.
To Edit your .bash_profile:
Type in Terminal nano .bash_profile (make sure your are in your home-directory test it with the
pwd
command. Usually/Users/Username
.add the alias Line above at the end of the document.
- type CTRL-O to save the file
- type CTRL-X to exit nano
- type
source .bash_profile
to update - type safari to start Safari.
You can do this with most of the applications in the /Application-Folder.
1
This is a very special case - I would think open is the better command unless you have a very special need.
– Mark
yesterday
add a comment |
Add following in your .bash_profile.
alias safari="/Applications/Safari.app/Contents/MacOS/Safari"
You can now start safari in your Terminal. As mentioned before, .app are bundles and cannot start directly from Terminal.
To Edit your .bash_profile:
Type in Terminal nano .bash_profile (make sure your are in your home-directory test it with the
pwd
command. Usually/Users/Username
.add the alias Line above at the end of the document.
- type CTRL-O to save the file
- type CTRL-X to exit nano
- type
source .bash_profile
to update - type safari to start Safari.
You can do this with most of the applications in the /Application-Folder.
1
This is a very special case - I would think open is the better command unless you have a very special need.
– Mark
yesterday
add a comment |
Add following in your .bash_profile.
alias safari="/Applications/Safari.app/Contents/MacOS/Safari"
You can now start safari in your Terminal. As mentioned before, .app are bundles and cannot start directly from Terminal.
To Edit your .bash_profile:
Type in Terminal nano .bash_profile (make sure your are in your home-directory test it with the
pwd
command. Usually/Users/Username
.add the alias Line above at the end of the document.
- type CTRL-O to save the file
- type CTRL-X to exit nano
- type
source .bash_profile
to update - type safari to start Safari.
You can do this with most of the applications in the /Application-Folder.
Add following in your .bash_profile.
alias safari="/Applications/Safari.app/Contents/MacOS/Safari"
You can now start safari in your Terminal. As mentioned before, .app are bundles and cannot start directly from Terminal.
To Edit your .bash_profile:
Type in Terminal nano .bash_profile (make sure your are in your home-directory test it with the
pwd
command. Usually/Users/Username
.add the alias Line above at the end of the document.
- type CTRL-O to save the file
- type CTRL-X to exit nano
- type
source .bash_profile
to update - type safari to start Safari.
You can do this with most of the applications in the /Application-Folder.
answered yesterday
dante12dante12
1,254512
1,254512
1
This is a very special case - I would think open is the better command unless you have a very special need.
– Mark
yesterday
add a comment |
1
This is a very special case - I would think open is the better command unless you have a very special need.
– Mark
yesterday
1
1
This is a very special case - I would think open is the better command unless you have a very special need.
– Mark
yesterday
This is a very special case - I would think open is the better command unless you have a very special need.
– Mark
yesterday
add a comment |