當前位置:首頁 » 編程軟體 » shell編程實驗

shell編程實驗

發布時間: 2022-07-31 09:16:14

❶ 和高級語言相比,shell編程有什麼特點

Shell 是系統的用戶界面,提供了用戶與內核進行交互的介面,它接收用戶輸入的命令並把它送到內核去執行,是一種命令解釋器(圖1)。另外,作為一門語言Shell編程語言具有普通編程語言的很多特點。Shell有很多版本,包括Bourne Shell、BASH、C Shell等,常用的就是BASH。

linux下命令解釋器稱為Shell,Shell是一種具備特殊功能的程序,它是介於使用者和 UNIX/Linux 操作系統之核心程序(kernel)間的一個介面。它接收用戶輸入的命令並把它送入內核去執行。不僅如此,Shell有自己的編程語言用於對命令的編輯,它允許用戶編寫由shell命令組成的程序。Shell編程語言具有普通編程語言的很多特點,比如它也有循環結構和分支控制結構等,用這種編程語言編寫的Shell程序與其他應用程序具有同樣的效果。

Linux系統提供多種不同的Shell以供選擇。常用的有Bourne Shell(簡稱sh)、C-Shelll(簡稱csh)、Korn Shell(簡稱ksh)和Bourne Again Shell (簡稱bash)。----以下內容來自於教材。

(1)Bourne Shell是AT&T Bell實驗室的 Steven Bourne為AT&T的Unix開發的,它是Unix的默認Shell,也是其它Shell的開發基礎。Bourne Shell在編程方面相當優秀,但在處理與用戶的交互方面不如其它幾種Shell。

(2)C Shell是加州伯克利大學的Bill Joy為BSD Unix開發的,與sh不同,它的語法與C語言很相似。它提供了Bourne Shell所不能處理的用戶交互特徵,如命令補全、命令別名、歷史命令替換等。但是,C Shell與BourneShell並不兼容。

(3)Korn Shell是AT&T Bell實驗室的David Korn開發的,它集合了C Shell和Bourne Shell的優點,並且與Bourne Shell向下完全兼容。Korn Shell的效率很高,其命令交互界面和編程交互界面都很好。

(4)Bourne Again Shell (即bash)是自由軟體基金會(GNU)開發的一個Shell,它是Linux系統中一個默認的Shell。Bash不但與Bourne Shell兼容,還繼承了C Shell、Korn Shell等優點。

❷ 求助!!這是原題:shell 編程 (1)編寫腳本 mkdocs,批量創建 100 個文件,文件名為doc001.txt~doc100.txt

#!/bin/bash
PRE_DOCS_NAME="docs"
DOCS_NAME=""

for i in `seq 1 100`
do
#get the file name
if (( ${i} < 10 ));then
DOCS_NAME="${PRE_DOCS_NAME}00${i}"
elif (( ${i} < 100 ));then
DOCS_NAME="${PRE_DOCS_NAME}0${i}"
else
DOCS_NAME="${PRE_DOCS_NAME}${i}"
fi
#if the file does not exist, create it
if [ ! -f "${DOCS_NAME}.txt" ];then
echo "" > "${DOCS_NAME}.txt"
fi
#change the name from .txt to .html and save them to the folder ChangeName
if [ ! -d "ChangeName" ];then
mkdir "ChangeName"
fi
cp "${DOCS_NAME}.txt" "./ChangeName/${DOCS_NAME}.html"
done

❸ linux shell編程中怎麼判斷時間相等

#!/bin/bash#格式化過期日期,格式化過期日期完整時間以當前時間作為參考!expday="2018-04-11 `date +%T`"echo "Expire day is $expday"#當前日期時間格式為stamp時間戳todays=`date +%s`echo "Today is $(date +"%F %T")"#以下2種方式做時間的四則運算,分別使用 let 或者 $(( ))#過期日期已格式化,規避整數運算的誤差(去余數)#let dayDiff=($(date -d "$expday" +%s)-$todays)/86400dayDiff=$(( ($(date -d "$expday" +%s)-$todays)/86400 ))echo "Diff day is $dayDiff days!"

其餘說明:
bash 不支持浮點運算,如果需要進行浮點運算,需要藉助bc,awk 處理。Linux命令需求的話可如下圖進行查詢

❹ linuxshell高級編程實驗心得怎麼寫

帶著目的去學習,要完成一定的任務。 慢慢來,首先學會基本的文件操作,用熟vi編輯器,能夠游刃有餘的配置自己的網路。 會安裝各種linux上的軟體包。

❺ 請問shell編程是什麼請高手指點!

shell是一個命令處理器(command processor)——是一個讀入並解釋你輸入的命令的程序。除了是一個命令中斷器以外,shell還是一個程序設計語言。你可以編寫shell可以解釋的程序(被稱為源程序),這些源程序可以包含shell程序設計命令等等。shell除了解釋命令以外,還有其他工作,它也可以配置和編程。shell擁有自己的語言允許用戶編寫程序並以一種復雜方式運行。shell編程語言具有許多常用的編程語言的特徵,例如:循環和控制結構等。用戶可以生成像其他應用程序一樣復雜的shell程序。
補充說明:簡單的說 : shell 是一個交互性命令解釋器。shell獨立於操作系統,這種設計讓用戶可以靈活選擇適合自己的shell。shell讓你在命令行鍵入命令,經過shell解釋後傳送給操作系統(內核)執行。
一下是shell功能的一個匯總:
查找命令的位置並且執行相關聯的程序。
為shell變數賦新值
執行命令替代
處理 I/O重定向和管道功能
提供一個解釋性的編程語言界面,包括tests、branches和loops等語句

❻ 求高手幫忙下Linux系統的Shell編程,我們的一個實驗課課題,詳見問題補充,謝謝

#!/bin/bash
dir_source="/home/hnsd/workdata/"

yyyymmdd=`date +%Y%m%d`

data_time=`date +%p`

if [ "${data_time}" = "AM" ]; then
workdata=workdata1
dir_back="/home/hnsd/disk1backup/"
else
workdata=workdata2
dir_back="/dev/disk2backup/"
fi

tar zcvf ${dir_back}${yyyymmdd}_${workdata}.tar.gz ${dir_source}*

crontab 寫法為

* 12 * * * 腳本絕對路徑
30 17 * * * 腳本絕對路徑

❼ 幾個好玩的Shell腳本編程實驗

通常就兩種方式。 1. 命令行中通過指定命令解釋器(sh或bash)來執行。 sh ./script.shbash ./script.sh這種情況不要求腳本本身有可執行許可權。 2. 直接執行腳本。 ./script.sh需要腳本有可執行許可權。 即,首先要通過 chmod +x ./script.sh 賦予...

❽ shell編程:從鍵盤上輸入一個數,如果這個數大於0,則輸出「這是一個正數」,如果

這不能就是一個正數,所以的話這個你可以直接從鍵盤上去進行輸入,然後就能夠顯示出來了。

熱點內容
有壓縮錢嗎 發布:2025-02-08 16:34:01 瀏覽:516
折紙手工解壓小方塊 發布:2025-02-08 16:32:45 瀏覽:252
php與運算符 發布:2025-02-08 16:32:45 瀏覽:762
如何用伺服器搭建懸賞平台 發布:2025-02-08 16:29:53 瀏覽:278
ftp伺服器破解版 發布:2025-02-08 16:28:41 瀏覽:521
mysql配置訪問ip 發布:2025-02-08 16:22:49 瀏覽:116
體表面積簡易演算法 發布:2025-02-08 16:18:04 瀏覽:687
存儲器的分級儲存是如何實現的 發布:2025-02-08 16:11:27 瀏覽:193
電腦怎麼看路由器密碼 發布:2025-02-08 16:10:13 瀏覽:401
匯編宏編譯 發布:2025-02-08 16:08:30 瀏覽:194