導航:首頁 > 操作系統 > linux腳本

linux腳本

發布時間:2022-01-20 07:37:21

linux shell 指令 諸如-d, -f, -e之類的判斷表達式

文件比較運算符-e filename

/boot/bzImage ]字元串比較運算符 (請注意引號的使用,這是防止空格擾亂代碼的好方法)

算術比較運算符num1-eq num2 等於 [ 3 -eq $mynum ]

拓展資料:

Linux操作系統

是基於UNIX操作系統發展而來的一種克隆系統,它誕生於1991 年的 [Linux桌面] 10 月5 日(這是第一次正式向外公布的時間)。以後藉助於Internet網路,並通過全世界各地計算機愛好者的共同努力,已成為今天世界上使用最多的一種UNIX 類操作系統,並且使用人數還在迅猛增長。

Ⅱ linux 中如何執行腳本

ash shell 腳本的方法有多種,現在作個小結。假設我們編寫好的shell腳本的文件名為hello.sh,文件位置在/data/shell目錄中並已有執行許可權。
方法一:切換到shell腳本所在的目錄(此時,稱為工作目錄)執行shell腳本:

cd /data/shell
./hello.sh

./的意思是說在當前的工作目錄下執行hello.sh。如果不加上./,bash可能會響應找到不到hello.sh的錯誤信息。因為目前的工作目錄(/data/shell)可能不在執行程序默認的搜索路徑之列,也就是說,不在環境變數PASH的內容之中。查看PATH的內容可用 echo $PASH 命令。現在的/data/shell就不在環境變數PASH中的,所以必須加上./才可執行。
方法二:以絕對路徑的方式去執行bash shell腳本:

/data/shell/hello.sh

方法三:直接使用bash 或sh 來執行bash shell腳本:

cd /data/shell
bash hello.sh



cd /data/shell
sh hello.sh

注意,若是以方法三的方式來執行,那麼,可以不必事先設定shell的執行許可權,甚至都不用寫shell文件中的第一行(指定bash路徑)。因為方法三是將hello.sh作為參數傳給sh(bash)命令來執行的。這時不是hello.sh自己來執行,而是被人家調用執行,所以不要執行許可權。那麼不用指定bash路徑自然也好理解了啊,呵呵……。
方法四:在當前的shell環境中執行bash shell腳本:

cd /data/shell
. hello.sh



cd /data/shell
source hello.sh

前三種方法執行shell腳本時都是在當前shell(稱為父shell)開啟一個子shell環境,此shell腳本就在這個子shell環境中執行。shell腳本執行完後子shell環境隨即關閉,然後又回到父shell中。而方法四則是在當前shell中執行的。

Ⅲ 怎麼編寫一個linux腳本文件

Shell終端解釋器形容是人與計算機硬體的「翻譯官」,它作為用戶與Linux系統內部通訊的媒介,除了允許了各種變數與參數外還提供了諸如循環、分支等高級語言才有的控制結構特性,如何正確的使用這些功能,准確下達命令就顯得尤為重要。Shell中腳本命令的工作方式有兩種,首先是咱們前面所接觸的交互方式(Interactive),即當用戶每輸入一條命令就執行一次,而批處理(Batch)則是由用戶事先編寫好一個完整的Shell腳本,Shell會一次性執行腳本中諸多的命令。因此在Shell腳本中不僅需要用到很多前面學習過的Linux命令以及正則表達式、管道符、數據流重定向等語法規則,還需要將內部功能模塊化後通過邏輯語句進行加工,最終才能成為咱們日常所見的Shell腳本程序。先來查看下系統中所有可用的Shell解釋器:
[root@linuxprobe ~]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/bin/tcsh
/bin/csh

另外查看到bash已經是咱們目前的終端解釋器了:
[root@linuxprobe ~]# echo $SHELL
/bin/bash

估計讀者看完上面對Shell腳本如此復雜的描述都有一種心累想放棄的感覺了吧,但這僅指的是一個高深Shell腳本的編寫原則,其實當咱們使用vim編輯器將linux命令按照順序依次寫入文件就是編寫完成一個最簡單的腳本啦。例如咱們想查看當前所在工作路徑並列出當前目錄下所有文件及屬性信息,編寫一個腳本來完成的話是這樣:
[root@linuxprobe ~]# vim example.sh
#!/bin/bash
#For Example BY linuxprobe.com
pwd
ls -al

Shell腳本文件的名稱是可以任意起,但為了避免其他同事誤以為是普通文件,咱們應該符合運維行業人員大眾的規范將.sh後綴寫上,這樣讓其他人一看就知道是個腳本文件,與人方便自己方便。在這個腳本中實際上出現了三種不同的元素,第一行腳本聲明(#!)是用來告知系統用何種shell解釋器來執行本腳本程序,第二行注釋信息(#)是對程序功能和某些命令的介紹信息,使得自己或他人再次看到這個腳本內容時可以快速知道這些功能的作用或一些警告信息,第三、四行可執行語句也就是咱們平時執行的Linux命令啦~什麼?你不相信這么簡單就編寫出來了一個腳本程序,那咱們來執行看一看吧:
[root@linuxprobe ~]# bash example.sh
/root/Desktop
total 8
drwxr-xr-x. 2 root root 23 Jul 23 17:31 .
dr-xr-x---. 14 root root 4096 Jul 23 17:31 ..
-rwxr--r--. 1 root root 55 Jul 23 17:31 example.sh

第二種運行腳本程序的方法是以輸入完整路徑的方式來執行,但默認會因為許可權不足而提示報錯信息,這種情況只需要為腳本文件增加執行許可權即可(在第五章會詳細講到):
[root@linuxprobe ~]# ./example.sh
bash: ./Example.sh: Permission denied
[root@linuxprobe ~]# chmod u+x example.sh
[root@linuxprobe ~]# ./example.sh
/root/Desktop
total 8
drwxr-xr-x. 2 root root 23 Jul 23 17:31 .
dr-xr-x---. 14 root root 4096 Jul 23 17:31 ..
-rwxr--r--. 1 root root 55 Jul 23 17:31 example.sh

這只是最簡單的,你可以看下http://www.linuxprobe.com/chapter-04.html#42_Shell學習下shell腳本!

Ⅳ linux 中怎樣執行腳本

首先腳本需要有執行許可權

chmo+xfile.sh

執行腳本有三種方法:

1../file.sh

特點:開啟bash子進程來執行,也就是開啟額外的進程來進行,不影響原進程的變數、配置等

2.bashfile.sh

特點:和./file.sh相同

3.sourcefile.sh或者.file.sh

特點:在原bash進程中執行腳本。


第三種方法主要用於在腳本中切換用戶su、切換目錄cd等命令。

source和.命令是相同的。

你可以搜索source

補充,如何查看腳本運行是否開啟了bash子進程

  1. vim file.sh

  2. 寫入

    #!/bin/bash

    #echo $$命令會輸出bash進程ID

    echo $$

  3. 保存並賦予可執行許可權chmod u+x file.sh

  4. 在你的shell中輸入,echo $$ 屏幕輸出4176

  5. ./file.sh 屏幕輸出3600

  6. bash file.sh 屏幕輸出3984

  7. source file.sh 屏幕輸出4176 和 你直接在shell中輸出的一樣,說明是在同一個bash進程

Ⅳ Linux shell 腳本中, $@ 和$# 分別是什麼意思

直接看示例:
[root@localhost xly]# cat t.sh
#!/bin/bash
echo $#
echo $@
[root@localhost xly]# sh t.sh
0
[root@localhost xly]# sh t.sh a b c
3
a b c
說明:
$@表示所有參數
$#表示所有參數的個數

Ⅵ linuxshell腳本程序

1 #!/bin/bash
2 PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
3 export PATH
4 echo -e "------please input--------- "
5 read -p "please input a file or path " filename
6 test ! -e $filename && echo "not file or path" && exit 0
7 test -d $filename && ls $filename && exit 0
8 test -f $filename && cat $filename | more && exit 0
9 test -x $filename && ./$filename && exit 0
10 exit 0
親自用vim給你寫的,簡單測試了一下。

Ⅶ linux腳本里的#! 是什麼意思

家目錄/用戶目錄。比如:我的用戶名是user,那一般我的家目錄就是/home/user/,裡面是我的文件和設置。#就是指的這個目錄,你可以試試,在終端或者終端模擬器裡面輸入cd #,就可以直接到達你的用戶目錄。

Ⅷ Linux如何編寫shell腳本

  1. 一般以#!/bin/sh開頭(不是必須要寫,但一定要單獨一行),指定執行這個腳本的shell程序(也可以用#!/bin/zsh或其他),然後就是堆命令了。

  2. Linux的shell腳本支持很多功能,加上Linux高度模塊化的命令,完全可以用shell腳本寫出復雜的程序。

  3. 以上只是簡單介紹如何開始寫shell腳本,如果要寫復雜的腳本,還需要深入學習相關知識(如if——fi、case——esac等結構)。

  4. 當然,還需要給腳本加上可執行許可權(chmod +x ./file.sh),否則可以用sh ./file.sh方式執行腳本(這里的sh是執行腳本所需shell,命令也可以是zsh ./file.sh或其他)。

  5. 整個shell腳本,其實就相當於你在終端輸入的一系列命令,如果想在shell里做什麼,就先想想在終端可以做什麼吧,字元的的連接,就是直接用 "" 雙引號,輸出,變數定義無 $ 符號,但是使用時一定要加上 $ 符號。

  6. "=" 賦值符號,兩邊一定不能有空格,這和其他語言有區別,尤其是你還有自己代碼美觀風格時特別注意,否則會報語法錯誤!

  7. for 中的數組內容是以 " " 空格分隔,而非 "," 逗號分格。

  8. 條件判斷 [ true ] 中括弧 後面需要有一個空格,但是兩個中括弧之間不能有空格如 [[ true ]]。

  9. while 條件判斷可以用 () 括弧,也可以用 [[ ]] 中括弧。

  10. 如果用windows寫shell,一定要注意換行符格式 而非 , 需要藉助一些編輯器(如notepad++)更改換行符格式!

閱讀全文

與linux腳本相關的資料

熱點內容
工作三年的大專程序員 瀏覽:726
java畢業設計文獻 瀏覽:140
籌碼集中度指標源碼 瀏覽:477
listsortjava 瀏覽:183
plc閃光電路編程實例 瀏覽:298
socket編程試題 瀏覽:203
華為的伺服器怎麼設置從光碟機啟動 瀏覽:867
程序員真的累嗎 瀏覽:325
學信網app為什麼刷臉不了 瀏覽:872
天蠍vs程序員 瀏覽:992
單片機下載口叫什麼 瀏覽:188
程序員的道 瀏覽:926
雲伺服器不實名違法嗎 瀏覽:558
怎樣查看文件夾圖片是否重復 瀏覽:995
文件怎麼導成pdf文件 瀏覽:808
打開sql表的命令 瀏覽:103
安卓手機如何面部支付 瀏覽:38
天元數學app為什麼登錄不上去 瀏覽:824
明日之後為什麼有些伺服器是四個字 瀏覽:104
安卓系統l1是什麼意思 瀏覽:26