介绍
最近学校课业的要求,要开始逐渐熟悉掌握Linux系统。本人使用的是MacOS系统,MacOS上的Terminal与Linux上的Terminal有许多共通之处,所以利用自己的Laptop熟悉、培养使用Terminal的习惯。
体会到CL(Command Line, 命令行)的便利后,想利用Terminal直接启动Chrome浏览器并进行搜索。
因为平台的不同,可能结果可能会存在差异。
代码如下
function google(){
open -a 'Google Chrome' https://www.google.com/search\?q\="$*";
}
使用方法
将代码复制到你使用的Shell对应的配置文件中,例如bash的.bashrc, zsh的.zshrc文件
打开Terminal,输入:
google 你想要的内容
代码解释
open命令(核心代码)
open -a 'Google Chrome' https://www.google.com/search\?q\="$*"
本行代码是最核心的代码,这意味着如果你直接在Terminal中输入此行命令,也可以被shell执行,不过要注意的是$1要被实际的内容替换掉($1是function的变量,后文会解释function)。
例如,搜索Manchester,如下:
open -a 'Google Chrome' https://www.google.com/search\?q\="Manchester"
open同样是一个命令,作用是打开文件或者文件夹或者URL。-a是open命令的参数,意思是使用哪个App打开此文件。如果不指App,会使用对应的默认程序打开,如MacOS上会用Safari浏览器打开此地址。
URL要注意字符的转义。此处URL为谷歌搜索的URL,当然也可以替换成其他搜索的对应URL格式。
alias命令(对比function)
单词“alias”的中文是“别名”,此命令可以把你在CL中输入命令用“代号”来表示。这样我们每次输入“代号”,CL就会执行你输入代号对应的命令。因此可它可以被用来来记录一些经常使用但是比较长或复杂的命令。
alias google="open -a 'Google Chrome' https://www.google.com/search\?q\="Manchester""
这里我们用“代号”“google”来表示等号后边的命令。
在Terminal中输入如下,就可以搜索Manchester了。
google
⚠️注意等号“=”前后没有空格。
function
尽管alias可以执行命令,但因为alias命令执行的时候不可以接受参数,function的优点是可以接受参数,方便自定义搜索内容,所以这里我们使用了function。
function google(){
open -a 'Google Chrome' https://www.google.com/search\?q\="$1";
}
$1表示传入的第一个参数,同理可以用$2、$3表示第二、第三个参数等等。因为Shell是根据空格来间隔参数的,上行代码的弊端是当你的搜索内容中有空格时,无法获取全部的搜索内容。例如,当输入时:
google Where is the University of Manchester?
所以我们使用$*合并参数到一起,改写下这个function,这样就有了最开始的function。
function google(){
open -a 'Google Chrome' https://www.google.com/search\?q\="$*";
}
本文是作者在学习Linux过程中,分享如何在MacOS的Terminal中使用命令直接打开Chrome浏览器进行Google搜索。文章介绍了核心代码`open -a Chrome "https://www.google.com/search?q=$1"`,以及对比了alias和function两种方式,特别是function能处理包含空格的搜索内容。通过将命令添加到Shell配置文件,用户可以便捷地在Terminal中执行搜索操作。
9680

被折叠的 条评论
为什么被折叠?



