linux脚本学习笔记

  • 在每个脚本的开头都使用"#!",这意味着告诉系统随后的脚本执行需要指定一个解
    释器.
  • 在#!之后接着是一个路径名.这个路径名指定了一个可以解释脚本命令的程序,这个程序可以是shell,程序语言或者是任意一个通用程序.这个指定的程序从头开始解释并且执行脚本中的命令

如:
1 #!/bin/sh
2 #!/bin/bash
3 #!/usr/bin/perl
4 #!/usr/bin/tcl
5 #!/bin/sed -f
6 #!/usr/awk -f
上边每行都代表一个不同的命令解释器,

如果是/bin/sh,那么就是默认shell(在Linux 系统中默认是Bash)

  • 使用#!/bin/sh,在大多数商业发行的UNIX 上,默认是Bourne shell,这可以让你的脚本正常的运行在非Linux 机器上,虽然这将会牺牲Bash 一些独特的特征.
  • 那些具有UNIX 味道的脚本(基于4.2BSD)需要一个4 字节的魔法数字,在#!后边需要一个
    空格#! /bin/sh.

  • 注意: #! 后边给出的路径名必须是正确的,否则将会出现一个错误消息,通常是
    "Command not found",
  • 当然"#!"也可以被忽略,不过这样你的脚本文件就只能是一些命令的集合,不能够使用shell 内建指令,如果不能使用变量的话,当然这也就失去了脚本编程的意义了.
  • 如果在脚本的里边还有一个#!行,那么bash 将把它认为是一个一般的注释行.
  • 脚本需要读和执行权限,因为shell 需要读这个脚本.
  • 为什么不直接使用scriptname 来调用脚本?如果你当前的目录下($PWD)正好有你想要
    执行的脚本,为什么它运行不了呢?失败的原因是,出于安全考虑,当前目录并没有被
    加在用户的$PATH 变量中.因此,在当前目录下调用脚本必须使用./scriptname 这种
    形式.

你可能感兴趣的:(linux脚本学习笔记)