Table of Contents
0.1结论:bash 的${string:start:length} 用法不适用于 sh 。
0.问题
1 #!/bin/bash
2
3 string="Hello,world!"
4
5 echo ${string:1:4}
程序输出:
ello
1 #!/bin/sh
2
3 string="Hello,world!"
4
5 echo ${string:1:4}
程序输出:
test.sh: 5: test.sh: Bad substitution
0.1结论:bash 的${string:start:length} 用法不适用于 sh 。
1.shell 的种类 ,即有多种shell 解释器
Shell 编程跟 JavaScript、php 编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了。
Linux 的 Shell 种类众多,常见的有:
- Bourne Shell(/usr/bin/sh或/bin/sh)
- Bourne Again Shell(/bin/bash)
- C Shell(/usr/bin/csh)
- K Shell(/usr/bin/ksh)
- Shell for Root(/sbin/sh)
2.执行shell的两种方法
1、作为可执行程序
chmod +x ./test.sh #使脚本具有执行权限
./test.sh #执行脚本
2、作为解释器参数
/bin/sh test.sh
/bin/php test.php
第2种方式:这种方式运行的脚本,不需要在脚本的第一行指定解释器信息,写了也没用,会以命令行的为准。