Linux菜鸟笔记--Terminal篇--MacOS上利用terminal打开Chrome进行Google搜索

目录

      • 介绍
      • 代码如下
      • 使用方法
      • 代码解释
        • open命令(核心代码)
        • alias命令(对比function)
        • function

介绍

最近学校课业的要求,要开始逐渐熟悉掌握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菜鸟笔记--Terminal篇--MacOS上利用terminal打开Chrome进行Google搜索)