我做了一个别名
的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?
答案 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"
}