第一个shell脚本
2015-08-09 11:09
549 查看
打开文本编辑器,新建一个文件,扩展名为sh(sh代表shell),扩展名并不影响脚本执行,见名知意就好。
“#!” 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种Shell。
注意,一定要写成./test.sh,而不是test.sh。运行其它二进制的程序也一样,直接写test.sh,linux系统会去PATH里寻找有没有叫test.sh的,而只有/bin, /sbin, /usr/bin,/usr/sbin等在PATH里,你的当前目录通常不在PATH里,所以写成test.sh是会找不到命令的,要用. /test.sh告诉系统说,就在当前目录找。
通过这种方式运行bash脚本,第一行一定要写对,好让系统查找到正确的解释器。
这种方式运行的脚本,不需要在第一行指定解释器信息,写了也没用。
实例
运行脚本:
#!/bin/bash echo "Hello World !"
“#!” 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种Shell。
作为可执行程序
将上面的代码保存为test.sh,并cd 到相应目录:chmod +x ./test.sh #使脚本具有执行权限 ./test.sh #执行脚本
注意,一定要写成./test.sh,而不是test.sh。运行其它二进制的程序也一样,直接写test.sh,linux系统会去PATH里寻找有没有叫test.sh的,而只有/bin, /sbin, /usr/bin,/usr/sbin等在PATH里,你的当前目录通常不在PATH里,所以写成test.sh是会找不到命令的,要用. /test.sh告诉系统说,就在当前目录找。
通过这种方式运行bash脚本,第一行一定要写对,好让系统查找到正确的解释器。
作为解释器参数
这种运行方式是,直接运行解释器,其参数就是shell脚本的文件名,如:/bin/sh test.sh
这种方式运行的脚本,不需要在第一行指定解释器信息,写了也没用。
实例
#!/bin/bash echo "What is your name?" read PERSON echo "Hello, $PERSON"
运行脚本:
chmod +x ./test.sh $./test.sh What is your name? mozhiyan Hello, mozhiyan $
相关文章推荐
- shell简介
- 如何查询注册表的值及 Powershell 应用
- shell中的计算
- 轻松使用“Explain Shell”脚本来理解 Shell 命令
- Mac 安装Shell工具 zsh
- Bash中的数学计算
- shell awk
- Bash中的数学扩展
- shell sed
- Bash的命令替换
- shell cut
- lnmp环境一键安装脚本
- Linux Bash使用技巧
- shell简介 linux由什么语言编写
- Linux $HOME下文件记录(Vim/Shell)
- 【git】git bash 启动默认路径
- Linux C/C++计划Shell命令大杂烩(1)
- Shell Scripts - 条件语句,case语句,function功能
- Shell Scripts - 条件语句,case语句,function功能
- shell 多进程打包备份脚本