Linux中各个命令的脚本解释器祥解
1.#!/bin/bash是什么?
我们通常在写脚本时使用#!/bin/sh 来让sh执行文件,
这表示支持任何POSIX shell命令语言的sh程序,
加上我们的bash扩展语法功能
2.#!/bin/bash在写脚本时怎么用?
我们可以使用任意一种文字编辑器,
比如gedit,kedit,emacs,vi等来编写shell脚本,
它必须以如下行开始(必须放在文件的第一行)
#!/bin/bash
Linux环境下的任何脚本语言都是以 这样一个被称为shebang的特殊行 作为起始的,
在这行中字符#!被置于解释器路径之前。
/bin/bash是Bash的路径。
shebang是两个字符名称的组合,
在Unix的行话里,用sharp和bang来称呼”!”
3.执行脚本能不能不在脚本里指定命令解释器呢?
当将脚本作为命令行参数时的运行方式如下:
sh script.sh
#假设脚本位与当前目录下或者sh /home/path/script.sh
使用script.sh的完整路径如果将脚本作为sh的命令行参数来运行,
那么脚本shebang行也就没什么用处了
chmod +x script.sh
该命令赋予所有用户script.sh文件的可执行权限。这个脚本能以下列方式执行:
./文件名 (表示当前目录) 或者 脚本的绝对路径
当打开一个终端时,该终端最初会执行一组命令来定义如:提示文本、颜色等各类设置
这组命令来自于用户home目录中的.bashrc脚本
Bash还维护了一个历史记录文件
~/.bash_history 用于保存用户运行过的命令,~是一种简写,代表用户的家目录
注意:echo和printf中的标志 -e或者-n
应该出现在命令行内任何字符串之前(否则Bash会将其视为另一个字符串)