『壹』 如何建立和執行shell腳本文件--基於linux
方法很多:
方法一:切換到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
bashhello.sh
方法四:在當前的shell環境中執行bash shell腳本。
cd/data/shell
.hello.sh
『貳』 怎麼編寫一個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腳本!
『叄』 如何建立和執行shell腳本文件--基於linux
方法很多:
方法一:切換到shell腳本所在的目錄(此時,稱為工作目錄)執行shell腳本。
cd/data/shell
./hello.sh
/data/shell/hello.sh
cd/data/shell
bashhello.sh
cd/data/shell
.hello.sh
『肆』 linux rhel 腳本文件以什麼開頭
linux系統中的腳本文件一般以
#!/bin/sh
指明要執行shell文件的shell名稱。
Linux腳本學習可以網路搜索《Linux就該這么學》進行學習了解哦
『伍』 xshell 怎樣編輯linux文件
從桌面點擊xshell的小圖標,打開xshell
『陸』 linux腳本文件$#問題
沒有問題啊,下面是測試腳本:
if[$#-lt3]
then
echo"needmorethan3"
exit
fi
echo"dowork"
『柒』 linux中怎樣讓shell腳本等待其他腳本文件執行完
在shell里寫一個條件判斷語句,去查詢上一條命令執行的結果,如果執行成功則執行下面的語句。
如是上面的命令是一個簡單的命令,就用sleep來控制。這都是常用方法
『捌』 怎麼通過你shell腳本刪除文件的某一行以及後面幾行
1、啟動Linux系統,用ssh工具(xshell或者SecureCRT等)連上Linux系統。
『玖』 java如何執行Linux腳本文件
/** * 運行shell腳本 * @param shell 需要運行的shell腳本 */ public static void execShell(String shell){ try { Runtime rt = Runtime.getRuntime(); rt.exec(shell); } catch (Exception e) { e.printStackTrace(); } }
『拾』 這個linux腳本文件什麼意思
i=1 #循環變數,此處僅為保證能夠一直循環
for i do #for循環開始
userdel $1 #刪除用戶(第一個參數指定)
rm -rf /home/$1 #刪除用戶主目錄所有文件目錄
shift #參數變數左移,即$2賦給$1,$3賦給$2,等等
if [ ! "$1" ] then #判斷是否變數存在有值
break #如果不存在則退出循環
fi #IF模塊結束
done #FOR循環結束
前兩個問題請參照樓上