编写第一个shell程序
首先进入HOME目录:
在终端输入
echo $HOME 可得到HOME路径。
pwd或echo $PWD 可得到当前路径。
在写一个脚本文件时,首先给文件命名,test是一个不好的名字
(在终端输入type test或type -a test会发现test是一条命令)
应该将脚本放在哪呢?
为了方便在任何地方执行,脚本文件尽量放在$PATH包含的目录中。(当然也可以通过$PATH=$PATH:脚本所在目录)
我在$HOME目录下建了一个bin目录,然后输入$PATH=$PATH:$HOME/bin。
echo echo Hello World! > bin/hw
然后
bash bin/hw
脚本就会被执行。
通过
chmod +x bin/hw
将脚本变成可执行文件,这样只用输入
hw
脚本也会被执行了!
写一个更加规范的脚本
#!/bin/bash
#: Title : hw
#: Date : 2008-11-26
#: Author : "Chris F.A. Johnson" <shell@cfajohnson.com>
#: Version : 1.0
#: Description : print Hello, World!
#: Options : None
printf "%s\n" "Hello, World!"
其中含有#的行是注释。第一行叫做shebang或hash-bang.
出现 bin/bash^M:bad interpreter 没有那个文件或目录的错误
可能是fileformat不对:
vi filename
然后用命令
:set ff?
可以看到dos或unix的字样. 如果的确是dos格式的, 那么你可以用set ff=unix把它强制为unix格式的, 然后存盘退出. 再运行一遍看.