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 這種
    形式.
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章