Shell01

shell是一個命令解釋器,是操作系統的最外層。
把用戶的輸入解釋給操作系統,將操作系統的輸入結果返回給用戶。
硬件-->kernel-->shell-->外圍應用程序

shell腳本:將命令或語句寫入文件,進行操作系統管理。

shell腳本中有命令、變量和流程控制語句。



清除日志文件腳本,需root
#!/bin/bash
LOG_DIR=/var/log

ROOT_UID=0

if ["$UID" -ne "$ROOT_UID"]
then
echo "Must be root to run this script."
exit 1
fi
cd $LOG_DIR || {
echo "Cannot change to necessary directory.">&2
exit 1
}
cat /dev/null>messages
echo "Logs cleaned up."
exit 0


A && B //A成功執行B
A || B //A沒成功執行B


清空文件的三種方法:

保留文件,清空內容

>filename
echo >filename //多一個空行
cat /dev/null >filename


Linux bash (Bourne Again shell)
echo $SHELL
輸出 /bin/bash
grep root /etc/passwd


shell腳本的建立
在vim中編寫,包括Linux命令、bash shell命令、程序控制結構、注釋。
腳本第一行指定由哪個程序來執行腳本中的內容。
#!/bin/bash 或
#!/bin/sh ?#!稱為幻數 sh為bash的軟鏈接


對于輸入的命令:Ctrl+e 到結尾,Ctrl+u 清除
shell腳本的執行方式
bash script-name ?sh script-name //當文件無執行權限或文件未指定解釋器時 推薦
path/scritp-name ?./script-name ?//必須有執行權限
source script-name . script-name //可以將其中的變量加入到當前shell環境


規范:
1、開頭指定腳本解釋器;
2、開頭加版本和版權信息;
3、不用中文
4、擴展名.sh
5、成對符號一次書寫;中括號的兩端有空格;流程控制一次書寫;代碼縮進;


變量
環境變量/全局變量:可在創建它們的shell及其派生出的子shell中使用;
局部變量:只能在shell函數或腳本中使用


環境變量可寫在~/bash_profile文件中,或全局配置文件/etc/bashrc/etc/profile文件中,或/etc/profile.d/
大寫
export導出
如:
export JAVA_HOME=path
JAVA_HOME=path
export JAVA_HOME
export PATH=$PATH:$JAVA_HOME/bin

幾個環境變量:
PS1:控制登錄用戶的顯示方式
TMOUT:超時退出
HISTSIZE:歷史命令記錄條數
HISTFILESIZE:歷史文件記錄條數
UID
USER

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/387379.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/387379.shtml
英文地址,請注明出處:http://en.pswp.cn/news/387379.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

jenkins svn tomcat ant自動部署

Jenkins Jenkins是基于Java開發的一種持續集成工具,用于監控持續重復的工作,功能包括: 1、持續的軟件版本發布/測試項目。 2、監控外部調用執行的工作。 跟其他持續集成相比,它的主要優點有: 開源,即免…

Shell02

局部變量 1、普通字符串變量 變量名value 變量名value #單引號中不進行變量解析,原樣輸出,應用不多 變量名"value" #雙引號會解析變量 例: a1123 a2234 a3"345" echo "a1$a1" echo "a2$a2&quo…

553 mail from must equal authorized user解決方法

在配置發送郵件通知,驗證其正確性時,出現"553 mail from must equal authorized user"提示的錯誤; 原因在于沒有在"系統管理(Manage Jenkins)"的"系統設置(Configure system&…

3.1 讀入一個參數

已知正方形的邊長&#xff0c;求出其面積。 輸入樣例&#xff1a; 1 2 3 4 輸出樣例&#xff1a; 1 4 9 16 #include<iostream> #include<fstream> using namespace std;int main() {ifstream cin("test.txt");//向OJ提交時&#xff0c;注釋此句i…

[Apple開發者帳戶幫助]八、管理檔案(2)創建臨時配置文件(iOS,tvOS,watchOS)...

創建臨時配置文件以在設備上運行您的應用程序而無需Xcode。在開始之前&#xff0c;您需要一個App ID&#xff0c;一個分發證書和多個注冊設備。 有關完整的臨時配置文件工作流程&#xff0c;請轉到Xcode幫助中的分發到已注冊設備&#xff08;iOS&#xff0c;tvOS&#xff0c;wa…

Ant Build.xml

題記&#xff1a;用 Eclipse 3 &#xff0b;Tomcat 5 做東東&#xff0c;用起來還是比較爽。但是調試時每次手動Deploy到Tomcat中&#xff0c;比較麻煩。今用Ant來完成之。 1。打開Eclipse&#xff0c;在項目的根路徑下建立builds.xml文件。 這個是Ant配置的關鍵。其內容如下&…

3.2 讀入兩個參數

計算兩個整數的差。 輸入樣例&#xff1a; 1 3 5 7 輸出樣例&#xff1a; -2 -2 #include<iostream> #include<fstream> using namespace std;int main() {ifstream cin("test.txt");//向OJ提交時&#xff0c;注釋此句int num1, num2;while (cin &g…

解決做好一個機器學習項目的3個問題

機器學習是目前人工智能最令人激動的研究方向之一。我們可能更關注機器學習算法的實現細節&#xff0c;沉浸于機器學習所需要的數學功底&#xff0c;但對于機器學習從業者來說&#xff0c;如何更好更快速的實現一個機器學習項目更值得關注。 正如吳恩達在《機器學習》這門課中所…

數據挖掘的相關知識例子

一、貝葉斯 貝葉斯定理由英國數學家貝葉斯 ( Thomas Bayes 1702-1761 ) 發展&#xff0c;用來描述兩個條件概率之間的關系&#xff0c;比如 P(A|B) 和 P(B|A)。按照乘法法則&#xff0c;可以立刻導出&#xff1a;P(A∩B) P(A)*P(B|A)P(B)*P(A|B)。如上公式也可變形為&#xf…

3.3 1!到n!的和

求1! 2! ... n! 的結果。 輸入樣例&#xff1a; 3 6 輸出樣例 9 873 #include<iostream> #include<fstream> using namespace std;int main() {ifstream cin("test.txt");//向OJ提交時&#xff0c;注釋此句int num;while (cin >> num){int…

[幣嚴區塊鏈]以太坊(ETH)Dapp開發入門教程之寵物商店領養游戲

閱讀本文前&#xff0c;你應該對以太坊、智能合約有所了解&#xff0c;如果你還不了解&#xff0c;建議你先看以太坊是什么 除此之外&#xff0c;你最好還了解一些HTML及JavaScript知識。 本文通過實例教大家來開發去中心化應用&#xff0c;應用效果如圖: 項目背景 Pete有一個…

怎么通俗易懂地解釋貝葉斯網絡和它的應用?

作者&#xff1a;小杰鏈接&#xff1a;https://www.zhihu.com/question/28006799/answer/38996563來源&#xff1a;知乎著作權歸作者所有。商業轉載請聯系作者獲得授權&#xff0c;非商業轉載請注明出處。英語原文&#xff1a;http://www.norsys.com/tutorials/netica/secA/tut…

3.4 等比數列

已知q與n&#xff0c;求等比數列之和&#xff1a;1 q q^2 ... q^n 輸入樣例&#xff1a; 6 0.3 5 1.3 輸出樣例&#xff1a; 1.428 12.756 #include<iostream> #include<fstream> #include<cmath> using namespace std;int main() {ifstream cin(…

SVM分類算法的基本理論問題

1.引言   隨著網絡技術的飛速發展和普及&#xff0c;進入了信息大爆炸的時代。信息無處不在&#xff0c;給我們的學習生活帶來了諸多便捷&#xff0c;由于堪稱海量的信息量&#xff0c;我們從中獲取有用的信息變得困難&#xff0c;解決這一難題就是要對這些大量的信息進行分…

3.5 斐波那契數

求第n項的斐波那契數。 1 1 2 3 5 8 ... 輸入樣例&#xff1a; 6 10 輸出樣例&#xff1a; 8 55 #include<iostream> #include<fstream> #include<cmath> using namespace std;int main() {ifstream cin("test.txt");//向OJ提交時&#xff…

決策樹案例理解

小王是一家著名高爾夫俱樂部的經理。但是他被雇員數量問題搞得心情十分不好。某些天好像所有人都來玩高爾夫&#xff0c;以至于所有員工都忙的團團轉還是應付不過來&#xff0c;而有些天不知道什么原因卻一個人也不來&#xff0c;俱樂部為雇員數量浪費了不少資金。 小王的目的是…

3.6 最大公約數

輸入樣例&#xff1a; 6 5 18 22 輸出樣例&#xff1a; 1 6 #include<iostream> #include<fstream> #include<cmath> using namespace std;int main() {ifstream cin("test.txt");//向OJ提交時&#xff0c;注釋此句int m, n;while (cin >&…

劍指offer-反轉鏈表

反轉鏈表 一、題目描述 輸入一個鏈表&#xff0c;反轉鏈表后&#xff0c;輸出新鏈表的表頭。 &#xff08;看過答案和測試之后&#xff0c;題目隱藏條件是要求鏈表是不帶頭結點的&#xff09; 二、題目思路 就是用三個指針&#xff0c;head、pre、next&#xff0c;head之前都是…

3.7 最小公倍數

先各自除以最大公約數&#xff0c;然后將兩個結果和最大公約數相乘&#xff0c;即為最小公倍數。 輸入樣例&#xff1a; 6 5 18 12 輸出樣例&#xff1a; 30 36 #include<iostream> #include<fstream> using namespace std;int gcd(int, int);int main() {ifs…

聚類、K-Means、例子、細節

聚類#####今天說聚類&#xff0c;但是必須要先理解聚類和分類的區別&#xff0c;很多業務人員在日常分析時候不是很嚴謹&#xff0c;混為一談&#xff0c;其實二者有本質的區別。分類其實是從特定的數據中挖掘模式&#xff0c;作出判斷的過程。比如Gmail郵箱里有垃圾郵件分類器…