# Running terminal script mac osx to open web browser

**URL:** <https://discourse.julialang.org/t/running-terminal-script-mac-osx-to-open-web-browser/13153>\
**Category:** General Usage\
**Tags:** shell\
**Created:** [August 10, 2018, 6:56am UTC](https://discourse.julialang.org/t/running-terminal-script-mac-osx-to-open-web-browser/13153 "2018-08-10T06:56:13Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Nakul\_Tiruviluamala](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nakul_tiruviluamala/32/11228_2.png) [@Nakul\_Tiruviluamala](https://discourse.julialang.org/u/Nakul_Tiruviluamala)\
**Post date:** [August 10, 2018, 6:56am UTC](https://discourse.julialang.org/t/running-terminal-script-mac-osx-to-open-web-browser/13153/1 "2018-08-10T06:56:14Z")

</div>

Hi guys,  
I am trying to have a shell command within a julia script. For instance, I am trying to open safari to a specific page.

Any help would be greatly appreciated.

Thanks!  
Nakul

---

<div class="post-metadata">

**Author:** ![slowbrain](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/slowbrain/32/2224_2.png) [@slowbrain](https://discourse.julialang.org/u/slowbrain)\
**Post date:** [August 10, 2018, 7:30am UTC](https://discourse.julialang.org/t/running-terminal-script-mac-osx-to-open-web-browser/13153/2 "2018-08-10T07:30:35Z")

</div>

```julia
run(`open -a Safari http://www.google.com/`)

```

… supposedly you’re running macOS

---

<div class="post-metadata">

**Author:** ![Nakul\_Tiruviluamala](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nakul_tiruviluamala/32/11228_2.png) [@Nakul\_Tiruviluamala](https://discourse.julialang.org/u/Nakul_Tiruviluamala)\
**Post date:** [August 10, 2018, 7:57am UTC](https://discourse.julialang.org/t/running-terminal-script-mac-osx-to-open-web-browser/13153/3 "2018-08-10T07:57:27Z")

</div>

Thanks, that works great!

---

<div class="post-metadata">

**Author:** ![Nakul\_Tiruviluamala](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nakul_tiruviluamala/32/11228_2.png) [@Nakul\_Tiruviluamala](https://discourse.julialang.org/u/Nakul_Tiruviluamala)\
**Post date:** [August 10, 2018, 9:20pm UTC](https://discourse.julialang.org/t/running-terminal-script-mac-osx-to-open-web-browser/13153/4 "2018-08-10T21:20:08Z")

</div>

I am attempting to have a variable name for the link so that I can alter or push a start-time flag to the end of a youtube link.

This is what I have but it’s not working.

```julia
link = https://www.youtube.com/watch?v=venyMc86h8U

a = run(`open -a Safari `+ link)

```

---

<div class="post-metadata">

**Author:** ![favba](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/favba/32/2735_2.png) [@favba](https://discourse.julialang.org/u/favba)\
**Post date:** [August 10, 2018, 9:26pm UTC](https://discourse.julialang.org/t/running-terminal-script-mac-osx-to-open-web-browser/13153/5 "2018-08-10T21:26:57Z")

</div>

```julia
link = "https://www.youtube.com/watch?v=venyMc86h8U"

a = run(`open -a Safari $link`)

```

---

<div class="post-metadata">

**Author:** ![kevbonham](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kevbonham/32/216165_2.png) [@kevbonham](https://discourse.julialang.org/u/kevbonham)\
**Post date:** [August 11, 2018, 11:44am UTC](https://discourse.julialang.org/t/running-terminal-script-mac-osx-to-open-web-browser/13153/6 "2018-08-11T11:44:14Z")

</div>

> [@Nakul\_Tiruviluamala](#):
>
> This is what I have but it’s not working.
> 
> ```julia
> link = https://www.youtube.com/watch?v=venyMc86h8U
> 
> a = run(`open -a Safari `+ link)
> 
> ```

@favba’s solution is probably the best one, but a couple of other things to note. First - your `link = http...` code throws an error because it’s not parsed. Note the quotes around the link in favba’s solution - that makes it a string.

Another thing, you might be familiar with python syntax for string concatenation, where eg `"a" + "b" == "ab"`, but in julia this is done with `*`

```julia
julia> "a" + "b"
ERROR: MethodError: no method matching +(::String, ::String)
Closest candidates are:
  +(::Any, ::Any, ::Any, ::Any...) at operators.jl:502
Stacktrace:
 [1] top-level scope at none:0

julia> "a" * "b"
"ab"

```

Though this type of syntax doesn’t work with `Cmd` and `String`, so you should use interpolation as suggested.

---

<div class="post-metadata">

**Author:** ![Nakul\_Tiruviluamala](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nakul_tiruviluamala/32/11228_2.png) [@Nakul\_Tiruviluamala](https://discourse.julialang.org/u/Nakul_Tiruviluamala)\
**Post date:** [August 20, 2018, 7:27am UTC](https://discourse.julialang.org/t/running-terminal-script-mac-osx-to-open-web-browser/13153/7 "2018-08-20T07:27:04Z")

</div>

Thank you for these tips. I have a related question. I tried mutating the script to open a specific file of my computer in SublimeText. The substitution I did does not work. When I don’t include the pathname, SublimeText opens but it does not open a specific file.

Thanks,  
Nakul

```julia
#runjl

#runjl

a = run(`open -a /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /Users/nakultiruviluamala/Library/Mobile Documents/com~apple~CloudDocs/PureData Cloud/XML/musicxmlextract.jl`)

```
