如何在 MAC OS 中创建一个可以在终端中打开 URL 的别名?
How to create an alias in MAC OS that can open a URL in terminal?
我做了一个别名
zsh
alias google="open https://www.google.com/s\?wd\="
然后
$ source ~/.zshrc
$ google test
但是 Chrome 还没有被调用,它打印
The file /Users/a2014/test does not exist
那么,我怎样才能只写 alias
并通过 cli 调用 google?
您不能使用别名执行此操作,因为无法将您的参数 test
与别名扩展产生的任何内容连接起来。您的最终命令行是:
open https://www.google.com/s\?wd\= test
(注意 test
之前的 space),它要求 OS X 使用相应的默认应用程序打开 https://www.google.com/s\?wd\=
和 test
。
改用函数:
google() {
open "https://www.google.com/search?q="
}
google test
# => opens https://www.google.com/search?q=test
感谢@Amadan!
作为评论有点笨拙的小改进,否则我会那样做。无论如何,你可能想要 url-encode 这个问题,这样你就可以用空格等做这样的事情......
google "who is mr obama?"
在这种情况下你可以使用:
google() {
encoded=$(php -r "echo rawurlencode('');")
open "https://www.google.com/search?q=$encoded"
}
我做了一个别名
zsh
alias google="open https://www.google.com/s\?wd\="
然后
$ source ~/.zshrc
$ google test
但是 Chrome 还没有被调用,它打印
The file /Users/a2014/test does not exist
那么,我怎样才能只写 alias
并通过 cli 调用 google?
您不能使用别名执行此操作,因为无法将您的参数 test
与别名扩展产生的任何内容连接起来。您的最终命令行是:
open https://www.google.com/s\?wd\= test
(注意 test
之前的 space),它要求 OS X 使用相应的默认应用程序打开 https://www.google.com/s\?wd\=
和 test
。
改用函数:
google() {
open "https://www.google.com/search?q="
}
google test
# => opens https://www.google.com/search?q=test
感谢@Amadan!
作为评论有点笨拙的小改进,否则我会那样做。无论如何,你可能想要 url-encode 这个问题,这样你就可以用空格等做这样的事情......
google "who is mr obama?"
在这种情况下你可以使用:
google() {
encoded=$(php -r "echo rawurlencode('');")
open "https://www.google.com/search?q=$encoded"
}