shell入门
参考书籍《linux程序设计》(英文名->Beginning Linux Programming)
变量
程序的起手式,编写一个 helloworld
程序:
#!/bin/sh
name="hello world"
echo $name
第一行是执行脚本的程序路径,第二行定义了一个变量,第三行显示变量。
注意:
shell默认定义的变量都是字符串,比如:
result=7+5
echo result
结果会是7+5
引号的作用和区别
引号用来括起字符串,有两种引号:
- 双引号
- 单引号
注意:如果是单个单词,用不用引号无所谓,如果一个字符串有多个单词的时候就需要使用引号了。
e.g
echo 'life is short, use python'
echo "及时行乐"
name=iphone
#双引号可以引用变量,单引号不可以,单引号内的都会被看成字符串。
echo $name
echo "$name"
echo '$name'
#转义字符,可以表达一些特殊的字符,比如括号、美元符
echo \$
echo \(
环境变量
环境变量 | 描述 |
---|---|
$HOME | 当前用户的根目录 |
$PATH | 可执行程序的搜索路径 |
$PS1 | bash终端的提示符 |
$PS2 | bash终端的第二提示符 |
$IFS | 参数间隔符号 |
$0 | 命令名,如果运行的是脚本那就是脚本名 |
$# | 命令行传入参数的个数 |
$$ | 当前进程的id |
$? | 上一个命令的返回值 |
传入的参数
传入的参数 | 描述 |
---|---|
$1,$2….. | 传入的参数 |
$* | 一个包含所有参数的字符串,参数间的间隔符默认是环境里的IFS |
$@ | 一个包含所有参数的字符串,参数间的间隔符是空格 |
写到这里,10点多争取睡觉。
总的来看,shell和python很写起来都挺顺手,都有种pesucode的感觉,能够快速地实现某个意图。