Shell(bash)的基本语法


主要是参考阮大佬的 教程,这里仅做一个记录。

0. echo命令

由于后面的例子会大量用到echo命令,这里先介绍这个命令。

echo 类似Python的print()函数,但是不需要引号就能直接输出:

  • 单行输出
(base) Robin-macbook-pro:~ robin$ echo hello world
hello world
  • 多行输出(包括换行符)

如需要输出多行内容,则需要加引号(单双都可):

(base) Robin-macbook-pro:~ robin$ echo 'today is Monday, 
> termorrow is Tuesday,
> and the day after termorrow is Thursday.'
today is Monday, 
termorrow is Tuesday,
and the day after termorrow is Thursday.
  • 解释特殊字符:使用参数 -e

与Python自动识别并解释特殊字符不一样,echo 必须使用参数 -e:
Python:

>>> print("I\nLOve\nU")
I
LOve
U
>>> print(r"I\nLOve\nU")
I\nLOve\nU

bash shell:

(base) Robin-macbook-pro:~ robin$ echo "I\nLOve\nU"
I\nLOve\nU
(base) Robin-macbook-pro:~ robin$ echo -e "I\nLOve\nU"
I
LOve
U

1. 命令格式

命令行环境中,主要通过使用 Shell 命令,进行各种操作。

Shell 命令基本都是这样的格式:command [ arg1 ... [ argN ]]

上面代码中,command 是具体的命令或者一个可执行文件,arg1 ... argN是传递给命令的参数,它们是可选的。

有些参数是命令的配置项,这些配置项一般都以一个连词线开头,比如上面的-l。同一个配置项往往有长和短两种形式,比如-l是短形式,--list是长形式,它们的作用完全相同。
短形式便于手动输入,长形式一般用在脚本之中,可读性更好,利于解释自身的含义。
(另说:-a 是Unix 风格,--help 是GNU 风格)

2. 空格

Bash 使用空格(或 Tab 键)区分不同的参数
如果参数之间有多个空格,Bash 会自动忽略多余的空格

(base) Robin-macbook-pro:~ robin$ echo you are   beautiful today.
you are beautiful today.

3. 分号

分号;是命令的结束符,使得一行可以放置多个命令,上一个命令执行结束后,再执行第二个命令。

clear ; ls

注:若代码写作多行,则不需要用到分号(用换行符来区分代码块)

4. 命令的组合符&&和||

除了分号,Bash 还提供两个命令组合符&&||,允许更好地控制多个命令之间的继发关系。

  • Command1 && Command2:如果Command1命令运行成功,则继续运行Command2命令

  • Command1 || Command2:如果Command1命令运行失败,则继续运行Command2命令

  • 对比: Command1 ; Command2:只要Command1命令执行结束,不管成功或失败,都会继续执行Command2命令

5. 常用的快捷键

  • ctrl + l:清除屏幕并将当前行移到页面顶部
  • ctrl + c:中止当前正在执行的命令
  • ctrl + a:移动光标到行首
  • ctrl + e:移动光标到行尾
  • ctrl + u:从光标位置删除到行首
  • ctrl + k:从光标位置删除到行尾
  • ctrl + d:关闭 Shell 会话
  • :向上和下浏览已执行命令的历史记录
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值