在線客服系統(tǒng)
十三年專注于網(wǎng)站建設與互聯(lián)網(wǎng)應用開發(fā),低調、有情懷的網(wǎng)絡應用服務商!
南昌百恒科技微信公眾號 掃一掃關注
tel-icon全國服務熱線:400-680-9298,0791-88117053
掃一掃關注百恒科技微信公眾號

Linux系統(tǒng)中如何創(chuàng)建shell 腳本文件?

百恒 2017-08-04 16:07:03 4455
? ? ? ?懂linux編程的朋友都知道,要將shell命令放到文本文件中,首先需要用文本編輯器來創(chuàng)建一個文件,然后將命令輸入到文件中。
? ? ? ?在創(chuàng)建shell腳本文件時,必須在文件的第一行指定要使用的shell。其格式為:#!/bin/bash
? ? ? ?在通常的shell腳本中,井號(#)用作注釋行。shell并不會處理shell腳本中的注釋行。然而,shell腳本文件的第一行是個例外,#后面的驚嘆號會告訴shell用哪個shell來運行腳本。
? ? ? ?在指定了shell之后,就可以在文件的每一行中輸入命令,然后加一個回車符。南昌網(wǎng)絡公司小編之前提到過,注釋可用#添加。例如:
? ? ? ?#!/bin/bash
? ? ? ?# This script displays the date and who's logged on
? ? ? ?date
? ? ? ?who
? ? ? ?這就是腳本的所有內容了。可以根據(jù)需要,使用分號將兩個命令放在一行上,但在shell腳本中,你可以在獨立的行中書寫命令。shell會按根據(jù)命令在文件中出現(xiàn)的順序進行處理。
? ? ? ?還有,要注意另有一行也以#開頭,并添加了一個注釋。shell不會解釋以#開頭的行(除了以#!開頭的第一行)。留下注釋來說明腳本做了什么,這種方法非常好。
? ? ? ?將這個腳本保存在名為test1的文件中,基本就好了。在運行新腳本前,還要做其他一些事。
? ? ? ?如果現(xiàn)在運行腳本,還為時尚早。
? ? ? ?$ test1
? ? ? ?bash: test1: command not found
? ? ? ?$
? ? ? ?你要跨過的第一個障礙是讓bash shell能找到你的腳本文件。shell會通過PATH環(huán)境變量來查找命令??焖俨榭匆幌翽ATH環(huán)境變量就可以弄清問題所在。
? ? ? ?$ echo $PATH
? ? ? ?/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/bin:/usr/bin
? ? ? ?:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/user/bin $
? ? ? ?PATH環(huán)境變量被設置成只在一組目錄中查找命令。要讓shell找到test1腳本,只需采取以下兩種作法之一:
? ? ? ?1、將shell腳本文件所處的目錄添加到PATH環(huán)境變量中;
? ? ? ?2、在提示符中用絕對或相對文件路徑來引用shell腳本文件。
? ? ? ?在這個例子中,我們將用第二種方式將腳本文件的確切位置告訴shell。為了引用當前目錄下的文件,可以在shell中使用單點操作符。
? ? ? ?$ ./test1
? ? ? ?bash: ./test1: Permission denied
? ? ? ?$
? ? ? ?現(xiàn)在shell找到了腳本文件,但還有一個問題。shell指明了你還沒有執(zhí)行文件的權限。快速查看一下文件權限就能找到問題所在。
? ? ? ?$ ls -l test1-rw-rw-r-- 1 user user 73 Sep 24 19:56 test1
? ? ? ?$
? ? ? ?在創(chuàng)建test1文件時,umask的值決定了新文件的默認權限設置。由于umask變量在Ubuntu中被設成了022,所以系統(tǒng)創(chuàng)建的文件只有文件屬主和屬組才有讀/寫權限。
? ? ? ?下一步是通過chmod命令賦予文件屬主執(zhí)行文件的權限。
? ? ? ?$ chmod u+x test1
? ? ? ?$ ./test1
? ? ? ?Mon Feb 21 15:38:19 EST 2017
? ? ? ?Christine tty2 2017-02-21 15:26
? ? ? ?Samantha tty3 2017-02-21 15:26
? ? ? ?Timothy tty1 2017-02-21 15:26
? ? ? ?user tty7 2017-02-19 14:03 (:0)
? ? ? ?user pts/0 2017-02-21 15:21 (:0.0) $
? ? ? ?同上以上一系列操作,現(xiàn)在就萬事俱備,只待執(zhí)行新的shell腳本文件了。這就是創(chuàng)建shell 腳本文件的方法,是不是覺得很簡單呢?如果對于這個知識點大家還有哪些疑問的話,隨時可來電和我們聯(lián)系。此外,想了解更多關于南昌網(wǎng)站建設、微信開發(fā)、APP開發(fā)等方面的資訊的朋友,歡迎關注百恒網(wǎng)絡公司網(wǎng)站,你一定會有不一樣的收獲!
400-680-9298,0791-88117053
掃一掃關注百恒網(wǎng)絡微信公眾號

歡迎您的光顧,我們將竭誠為您服務×

售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售后服務 售后服務
 
備案專線 備案專線
 
售后服務 售后服務
 
×