1、shell介紹
shell是使用者與核心之間的橋梁,也可以當作linux中的程式語言。
shell與使用者互動的模式:在互動環境下,每次執行一條命令;通過編寫shell指令碼的方式
2、shell的編寫
shell直譯器
#!直譯器 eg:#!/bin/bash
shell的變數型別
環境變數:shell環境下已經存在的一些系統變數,eg:pwd,path,uid
自定義變數:變數名 = 變數值 等號兩邊不能加空格
預定義變數:
$0 當前執行shell指令碼的程式名
$1 $2 ... $n 代表第乙個、第二個......第n個位置引數的值
$# 傳遞的位置引數的個數
$* 所有位置引數的值
$? 返回上一條命令是否執行成功,成功為0,不成功非0
3、shell指令碼執行方式
方式1:直接通過指令碼檔案的位置執行(必須新增x執行許可權)
方式2:sh 指令碼檔案位置
方式3:source 指令碼檔案位置
4、shell的程式流程控制
if條件判斷語法:
if [ 判斷條件表示式 ]
then
測試通過,執行此處
else
測試不通過,執行此處
fi注意:檔案判斷的常用選項:-d是否為目錄;-f是否為檔案;-e是否存在
for迴圈語句
for 迴圈變數 in 可被迴圈的表示式
do迴圈內容
done
while迴圈語句
while [ 判斷條件表示式 ]
do迴圈內容
done
5、計畫定時任務
使用crontab命令操作定時任務
crontab 【選項】【配置檔案】
選項:-e 編輯當前使用者定時任務
-l 列出定時任務
-r 刪除定時任務
如果當前使用者要編輯其他使用者的定時任務,則需要有root許可權(sudo),而且需要指定-u選項。eg:sudo crontab -u tom -e
注意:每個使用者都有自己的定時任務檔案。
使用者定時任務檔案:
m h dom mon dow command
32 */2 * * * date >> /home/rcw/log.txt
意思是:每天每隔2小時的32分,將當前時間寫入對應的檔案中
如果要執行以root使用者許可權執行的任務,應該在/etc/crontab檔案下加定時任務,user欄位填寫root就可以使用root許可權執行了。
/etc/cron.daily每天都會執行該目錄下的指令碼
/etc/cron.weekly每週都會執行該目錄下的指令碼
/etc/cron.monthly每月都會執行該目錄下的指令碼
Ubuntu shell 程式設計
開頭 bin sh 用來告訴系統,用 bin sh來執行程式。加許可權 chmod x filename 有的使用者還要更改檔案使用者為執行使用者 如 chown hadoop hadoop filename 之後才能用 filename執行 指令碼中可以加注釋,前面用 shell 中命令和系統中輸...
ubuntu shell 程式設計學習
1.開頭 bin bash 這句話必須放在檔案的第一行,符號 用來告訴系統它後面的引數是用來執行該檔案的程式。可以執行echo shell來看你的系統是使用那一類shell,比如ubuntu使用的是 bin bash,則第一行寫成 bin bash 進行shell程式設計時,以 開頭的句子表示注釋,...
ubuntu shell程式設計基礎
1.程式必須以下面的行開始 bin bash 符號 用來告訴系統它後面的引數是用來執行該檔案的程式。在這個例子中我們使用 bin sh來執行程式。可以執行echo shell來看你的系統是使用那一類shell,比如ubuntu使用的是 bin bash,則第一行寫成 bin bash 2.使用 來新...