搜尋
首頁運維linux運維shell script到底是什麼?怎麼使用?

shell script到底是什麼?怎麼使用?

Jul 18, 2017 pm 06:07 PM
scriptshell什麼

       或许﹐许多人都已经听过 shell 或 bash 这些名字﹐但不知道您是否知道它们究竟是什麼东东呢﹖
先回到电脑基础常识上吧﹕所有的电脑都是由硬体和软体构成的﹐硬体就是大家能摸得著看得见的部份﹐例如﹕键盤﹑荧幕﹑CPU﹑记忆体﹑硬碟﹑等等。离开了硬体﹐所谓的电脑是不存在的﹐因为整个系统的输入和输出以及运算都离不开硬体。请问﹕如果没有键盤和荧幕您是怎样使用电脑的﹖但是﹐您透过键盤进行的输入﹐以及从荧幕看到的输出﹐真正发挥功能的﹐是软体的功劳。而直接负责和这些硬体进行沟通的软体﹐就是所谓的核心(kernel)﹐kernel 必须能够接管键盤的输入﹐然後交由 CPU 进行处理﹐最後将执行结果输出到荧幕上。当然﹐除了键盤和荧幕外﹐所有的硬体都必须获得 kernel 的支援才能使用。
那麼﹐kernel 又如何知道我们键盤输入的东西是什麼呢﹖那就是我们这里介绍的 shell 所负责的事情了。因为电脑本身所处理的数据﹐都是二进位的机器码﹐和我们人类习惯使用的语言很不一样。比方说﹐输入 pwd 命令﹐我们知道这是 print working directory 的意思(非常简单的人类语音)﹐但作为 kernel 来说﹐它并不知道 pwd 是什麼﹐kernel 只会看机器码﹐这时候﹐shell 就会帮我们将 pwd 翻译为 kernel 能理解的程式码。所以﹐我们在使用电脑的时候﹐基本上就是和 shell 打交道﹐而不是直接和 kernel 沟通﹐更不是直接控制硬体。

Windwos下利用批处理程序bat开发的备份网站及数据库的脚本 

@echo off
set date=%date:~0,4%-%date: ~5,2%-%date:~8,2%
mysqldump -uroot -ppassword -A -B > D:\back\"%date%".sql
rar.exe a -k -r -s -ml D:\bak\"%date%".sql.rar D:\bak\"%date%".sql
del D:\bak\*.sql
rar.exe a -k -r -s -ml D:\bak\"%date%"htdocs.rar D:\work\PHPnow\htdocs

清除/var/log/message 系统日志文件命令脚本

# 使用root身份运行这个脚本
# 清除日志版本,版本:v1
cd /var/log
cat /dev/null > messages
echo "Logs cleaned up."

 问题:

  1. 不是root执行权限执行不了

  2. 没有流程控制判断是否存在文件

LOG_DIR=/var/log
# $UID为0的时候,用户才具有root用户的权限
ROOT_UID=0

# 使用root用户来运行
if [ "$UID" -ne "$ROOT_UID" ]
then
  echo "Must be root to run this script."    
  exit 1
fi
cd $LOG_dir || {
  echo "Can't change to necesary directory." >&2
  exit 1
}
cat /dev/null > messages
echo "Logs cleaned up."
exit 0
# 推出之前返回0表示成功,返回1表示失败

以上是shell script到底是什麼?怎麼使用?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
Debian Apache日誌級別如何設置Debian Apache日誌級別如何設置Apr 13, 2025 am 08:33 AM

本文介紹如何在Debian系統中調整ApacheWeb服務器的日誌記錄級別。通過修改配置文件,您可以控制Apache記錄的日誌信息的詳細程度。方法一:修改主配置文件定位配置文件:Apache2.x的配置文件通常位於/etc/apache2/目錄下,文件名可能是apache2.conf或httpd.conf,具體取決於您的安裝方式。編輯配置文件:使用文本編輯器(例如nano)以root權限打開配置文件:sudonano/etc/apache2/apache2.conf

Debian Apache日誌中如何查找特定IPDebian Apache日誌中如何查找特定IPApr 13, 2025 am 08:30 AM

在Debian系統中,Apache的訪問日誌和錯誤日誌通常存儲在/var/log/apache2/目錄下。本文將指導您如何使用命令行工具查找特定IP地址的日誌記錄。打開終端:啟動您的Debian系統終端。進入Apache日誌目錄:使用cd命令導航到Apache日誌目錄:cd/var/log/apache2/查找特定IP地址:使用grep命令搜索特定IP地址。例如,要查找IP地址192.168.1.100的訪問記錄,請執行以下命令:grep'192.168.1.100

debian readdir的錯誤處理機制是什麼debian readdir的錯誤處理機制是什麼Apr 13, 2025 am 08:27 AM

在Debian系統中,readdir函數用於遍歷目錄內容。然而,readdir操作可能因各種原因失敗,例如目標目錄不存在或權限不足。有效的錯誤處理至關重要,以確保程序的健壯性。以下方法可以幫助你處理readdir函數可能出現的錯誤:方法一:檢查返回值readdir函數成功時返回指向dirent結構體的指針,該結構體包含目錄項信息。失敗時返回NULL。因此,務必檢查返回值:#include#include#include#includeintmain(){struct

Debian上GitLab的插件開髮指南Debian上GitLab的插件開髮指南Apr 13, 2025 am 08:24 AM

在Debian上開發GitLab插件需要一些特定的步驟和知識。以下是一個基本的指南,幫助你開始這個過程。安裝GitLab首先,你需要在Debian系統上安裝GitLab。可以參考GitLab的官方安裝手冊。獲取API訪問令牌在進行API集成之前,首先需要獲取GitLab的API訪問令牌。打開GitLab儀錶盤,在用戶設置中找到“AccessTokens”選項,生成一個新的訪問令牌。將生成的

Debian Apache日誌中如何查找404錯誤Debian Apache日誌中如何查找404錯誤Apr 13, 2025 am 08:21 AM

在Debian系統中,Apache的訪問日誌和錯誤日誌通常存儲在/var/log/apache2/目錄下。要快速查找404錯誤,您可以利用grep命令搜索訪問日誌(通常為access.log)中的"404"狀態碼。打開終端,執行以下命令:grep'404'/var/log/apache2/access.log此命令將在訪問日誌中查找包含"404"(注意空格)的行,這些行代表404錯誤。需要查找特定時間段內的404錯誤?您可以結合使用awk和grep命令:例

Tomcat日誌中如何定位內存洩漏Tomcat日誌中如何定位內存洩漏Apr 13, 2025 am 08:18 AM

本文介紹如何通過Tomcat日誌和相關工具排查內存洩漏問題。一、內存監控與堆轉儲首先,使用JVisualVM或jstat等工具實時監控Tomcat內存使用情況,觀察堆內存變化,判斷是否存在內存洩漏。一旦懷疑有洩漏,使用jmap命令生成堆轉儲文件(heap.bin):jmap-dump:format=b,file=heap.bin其中為Tomcat進程ID。二、堆轉儲文件分析使用EclipseMemoryAnalyzerTool(MAT)或其他工具打開heap.bin文件,分析內存

怎樣通過Nginx日誌進行故障排查怎樣通過Nginx日誌進行故障排查Apr 13, 2025 am 08:15 AM

利用Nginx日誌排查服務器故障是高效的運維手段,能幫助你洞察服務器運行狀態、精准定位問題並實施優化。本文將介紹幾種常見的Nginx日誌類型及故障排查方法。 1.訪問日誌(accesslog)訪問日誌記錄了所有訪問Nginx服務器的請求信息。關鍵字段:$remote_addr:客戶端IP地址$http_user_agent:客戶端User-Agent字符串$http_referer:請求來源頁面$status:HTTP狀態碼$body_bytes_sent:發送給客戶端的響應體字節

Tomcat日誌中如何查找特定信息Tomcat日誌中如何查找特定信息Apr 13, 2025 am 08:12 AM

高效查找Tomcat日誌中的特定信息本文介紹幾種在Tomcat日誌中快速定位特定信息的方法,助您快速排查問題。方法一:命令行工具首先,找到Tomcat日誌文件,通常位於Tomcat安裝目錄下的logs文件夾中。查看日誌:使用cat命令查看日誌文件內容,例如:cat/path/to/tomcat/logs/catalina.out。 (請將/path/to/tomcat/替換為您的Tomcat安裝路徑)過濾信息:使用grep命令過濾特定關鍵詞。例如,查找包含"錯誤"的日誌行:gr

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具