shell 编程入门

81 阅读1分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第6天,点击查看活动详情

shell

高级的程序员,往往在shell中进行一切操作。其实 shell 如果可以使用的顺手的话可以极大的提高我们的生产力。

常见的shell

  • bash
  • zsh
  • ksh
  • csh
  • ash

查看你用的什么shell echo $SHELL

查看系统上有什么shell:cat /etc/shells

image.png

基本命令(1)

echo 命令

echo 命令是我们最常用的命令,他的作用就好似编程语言中的 print

# 当后边 是一个字符串的时候 这个 字符串会被立即输出
➜  ~ echo hi
hi

# 也可以支持多行文本
➜  ~ echo " hello
dquote> world"
 hello
world

参数

-n

默认情况下,echo输出的文本末尾会有一个回车符。-n参数可以取消末尾的回车符,使得下一个提示符紧跟在输出内容的后面。


$ echo a;echo b
a
b
$ echo -n a;echo b
ab

-e

在字符串中难免会有一些 特殊字符如:\n\t\r ···· -e 参数会解释引号(双引号和单引号)里的特殊字符。如果不使用-e 参数,特殊字符将不会被解释,直接输出。


$ echo "Hello\nWorld"
Hello\nWorld

# 双引号的情况
$ echo -e "Hello\nWorld"
Hello
World

# 单引号的情况
$ echo -e 'Hello\nWorld'
Hello
World

命令格式

命令有两种 格式,一种短式、一种长式

短式方便我们使用,长试方便我们理解,我们一般使用的是短式。

换行输入

➜  ~ echo hi tom
hi tom
➜  ~ echo hi \
> tom
hi tom
➜  ~

空格和分号

# 多个空格将被解释为一个 空格,
➜  ~ echo hi      tom
hi tom

# 分号(`;`)是命令的结束符,使得一行可以放置多个命令,上一个命令执行结束后,再执行第二个命令。
➜  ~ echo hi ; echo tom
hi
tom
➜  ~

如果两条命令有 顺序关系 (&& 和 ||)

无论第一个命令执行成功与否都会执行第二条命令 command1 ; command2 当第一条命令执行成功时候 ,执行第二条命令command1 && command2

当第一条命令执行失败时候 ,执行第二条命令command1 || command2