如何在MAC OS中创建可以在终端中打开URL的别名?

时间:2016-01-29 08:50:29

标签: macos command-line-interface alias zsh

我做了一个别名

的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?

2 个答案:

答案 0 :(得分:2)

您无法使用别名执行此操作,因为无法将参数test与来自别名扩展的任何内容连接起来。您的最终命令行是:

open https://www.google.com/s\?wd\= test

(注意test之前的空格),要求OS X使用相应的默认应用程序打开https://www.google.com/s\?wd\=test

改为使用函数:

google() {
  open "https://www.google.com/search?q="$1
}
google test
# => opens https://www.google.com/search?q=test

答案 1 :(得分:1)

感谢@Amadan!

略微改进,作为评论有点笨拙,否则我会这样做。无论如何,你可能想要对问题进行网址编码,这样你就可以用空格等做这样的事情......

google "who is mr obama?"

在这种情况下你可以使用:

google() {
   encoded=$(php -r "echo rawurlencode('$1');")
   open "https://www.google.com/search?q=$encoded"
}