Linux的shell腳本用文本編寫好后為什么要重命名?
網(wǎng)友解答: Linux的shell腳本用文本編寫好了重命名應(yīng)該是指更改擴展名. windows Shell 腳本語法擴展名是bat(在nt/2000/xp/2003下也可以是cmd)的文
Linux的shell腳本用文本編寫好了重命名應(yīng)該是指更改擴展名. windows Shell 腳本語法擴展名是bat(在nt/2000/xp/2003下也可以是cmd)的文件就是批處理文件。
Shell是系統(tǒng)的用戶界面,提供了用戶與內(nèi)核進行交互操作的一種接口。它接收用戶輸入的命令并把它送入內(nèi)核去執(zhí)行。實際上Shell是一個命令解釋器,它解釋由用戶輸入的命令并且把它們送到內(nèi)核。不僅如此,Shell有自己的編程語言用于對命令的編輯,它允許用戶編寫由shell命令組成的程序。Shell編程語言具有普通編程語言的很多特點,比如它也有循環(huán)結(jié)構(gòu)和分支控制結(jié)構(gòu)等,用這種編程語言編寫的Shell程序與其他應(yīng)用程序具有同樣的效果。
在工作中情況會在碰到linux下進行執(zhí)行shell的腳本,而就會使用shell的腳本,但經(jīng)常使用的Windows的系統(tǒng),而想在Windows電腦中進行直接shell的腳本,而不用再進行學(xué)習(xí)其它的腳本語言。
首先電腦中需要安裝的是git的應(yīng)用程序.并需要配置好git的bin,配置環(huán)境變量,把bin的絕對路徑復(fù)制到環(huán)境變量中path。
配置git的環(huán)境變量之后,在任意文件進行創(chuàng)建一個為mkdir.sh,文件名可以是隨意的結(jié)尾需要為.sh。
然后在sh的文件中進行輸入
#!/bin/shtouch a.txtsleep 10echo "testtesttesttest"a.txt
創(chuàng)建一個為txt文件,然后testtesttesttest寫入到txt文件中。
然后進行雙擊.sh的文件,會彈出git的命令窗口,根據(jù)代碼的執(zhí)行的時間窗口顯示多久。
然后就會自動生成一個a.txt的文件。
并會在a.txt文件中寫入為“testtesttesttest”的一段文字。
網(wǎng)友解答:這里需要了解一下擴展名,所謂擴展名就是計算機中用來標(biāo)記文件類型的一種機制。換個說法就是當(dāng)用戶要打開某個文件時,計算機能夠根據(jù)文件的擴展名知道用什么軟件來打開它。
例如眾所周知的.txt擴展名,是文本文件的擴展名,系統(tǒng)默認用記事本打開該文件。你問題中提到的shell腳本用文本文件編寫,其實就是用.txt作為擴展名,編寫完成之后改擴展名為.sh,是為了能讓系統(tǒng)知道這個文件是個腳本文件,要用腳本解析器來執(zhí)行。
另外:文件一定要正確的擴展名嗎?答案是否定的,很多黑客將文件進行偽裝,比如將.exe木馬文件偽裝成.txt或其他類型文件,當(dāng)用戶下載到該木馬如果沒有查殺,單看文件擴展名覺得是安全的!對于網(wǎng)絡(luò)新手即使殺毒軟件提示木馬病毒,也可能認為是誤殺然后將其還原。
既然擴展名可以偽裝文件,我們普通用戶也可以利用這點將文件進行隱藏偽裝。比如將xxx.avi改名成xxx.txt。把你不想讓別人輕易打開的文件進行偽裝,他人用你電腦時看到這個文件直接雙擊通過記事本打開是沒有用的,只有你自己知道這個文件應(yīng)該拖放到哪個軟件里打開。