當前位置:首頁 » 編程軟體 » 各種編程腳本

各種編程腳本

發布時間: 2022-12-09 03:47:58

腳本分幾種,用途都是什麼

腳本(script)是使用一種特定的描述性語言,依據一定的格式編寫的可執行文件,又稱作宏或批處理文件。腳本是批處理文件的延伸,是一種純文本保存的程序,一般來說的計算機腳本程序是確定的一系列控制計算機進行運算操作動作的組合,在其中可以實現一定的邏輯分支等。 腳本簡單地說就是一條條的文字命令,這些文字命令是可以看到的(如可以用記事本打開查看、編輯),腳本程序在執行時,是由系統的一個解釋器,將其一條條的翻譯成機器可識別的指令,並按程序順序執行。因為腳本在執行時多了一道翻譯的過程,所以它比二進製程序執行效率要稍低一些。 腳本通常可以由應用程序臨時調用並執行。各類腳本被廣泛地應用於網頁設計中,因為腳本不僅可以減小網頁的規模和提高網頁瀏覽速度,而且可以豐富網頁的表現,如動畫、聲音等。舉個最常見的例子,當點擊網頁上的Email地址時能自動調用Outlook Express或Foxmail這類郵箱軟體,就是通過腳本功能來實現的。也正因為腳本的這些特點,往往被一些別有用心的人所利用。例如在腳本中加入一些破壞計算機系統的命令,這樣當用戶瀏覽網頁時,一旦調用 這類腳本,便會使用戶的系統受到攻擊。所以用戶應根據對所訪問網頁的信任程度選擇安全等級,特別是對於那些本身內容就非法的網頁,更不要輕易允許使用腳本。通過「安全設置」對話框,選擇「腳本」選項下的各種設置就可以輕松實現對腳本的禁用和啟用。 計算機語言是為了各種目的和任務而開發的,一個常見任務就是把各種不同的已有組件連接起來以完成相關任務。大多腳本語言共性是:良好的快速開發,高效率的執行,解釋而非編譯執行,和其它語言編寫的程序組件之間通信功能很強大。 許多腳本語言用來執行一次性任務,尤其是系統管理方面。它可以把服務組件粘合起來,因此被廣泛用於GUI創建或者命令行,操作系統通常提供一些默認的腳本語言,即通常所謂shell腳本語言。 腳本通常以文本(如ASCII)保存,只在被調用時進行解釋或編譯。 有些腳本是為了特定領域設計的,但通常腳本都可以寫更通用的腳本。在大型項目中經常把腳本和其它低級編程語言一起使用,各自發揮優勢解決特定問題。腳本經常用於設計互動通信,它有許多可以單獨執行的命令,可以做很高級的操作,(如在傳統的Unix shell (sh)中,大多操作就是程序本身。) 這些高級命令簡化了代碼編寫過程。諸如內存自動管理和溢出檢查等性能問題可以不用考慮。在更低級或非腳本語言中,內存及變數管理和數據結構等耗費人工,為解決一個給定問題需要大量代碼,當然這樣能夠獲得更為細致的控制和優化。腳本缺少優化程序以提速或者降低內存的伸縮性。 綜上所述,腳本編程速度更快,且腳本文件明顯小於如同類C程序文件。這種靈活性是以執行效率為代價的。腳本通常是解釋執行的,速度可能很慢,且運行時更耗內存。在很多案例中,如編寫一些數十行的小腳本,它所帶來的編寫優勢就遠遠超過了運行時的劣勢,尤其是在當前程序員工資趨高和硬體成本趨低時。 然而,在腳本和傳統編程語言之間的界限越來越模糊,尤其是在一系列新語言及其集成暢出現時。在一些腳本語言中,有經驗的程序員可以進行大量優化工作。在大多現代系統中通常有多種合適的腳本語言可以選擇,所以推薦使用多種語言(包括C或匯編語言)編寫一種腳本。 常見的腳本語言:Scala、javaScript,VBScript,ActionScript,MAX Script,ASP,JSP,php,SQL,Perl,Shell,python,Ruby,JavaFX,Lua,AutoIt等。 [編輯本段]與其他編程語言的關系及特點 1.腳本語言(JavaScript,VBscript等)介於HTML和C,C++,Java,C#等編程語言之間。 HTML通常用於格式化和鏈結文本。而編程語言通常用於向機器發出一系列復雜的指令。 2.腳本語言與編程語言也有很多相似地方,其函數與編程語言比較相象一些,其也涉及到變數。與編程語言之間最大的區別是編程語言的語法和規則更為嚴格和復雜一些. 3.與程序代碼的關系:腳本也是一種語言,其同樣由程序代碼組成。 註:腳本語言一般都有相應的腳本引擎來解釋執行。 他們一般需要解釋器才能運行。Python、JAVASCRIPT,ASP,PHP,PERL,Nuva都是腳本語言。C/C++編譯、鏈接後,可形成獨立執行的exe文件。 4.腳本語言是一種解釋性的語言,例如Python、vbscript,javascript,installshield script,ActionScript等等,它不象c\c++等可以編譯成二進制代碼,以可執行文件的形式存在. 腳本語言不需要編譯,可以直接用,由解釋器來負責解釋。 5.腳本語言一般都是以文本形式存在,類似於一種命令. 舉個例子說,如果你建立了一個程序,叫aaa.exe,可以打開.aa為擴展名的文件. 你為.aa文件的編寫指定了一套規則(語法),當別人編寫了.aa文件後,你的程序用這種規則來理解編寫人的意圖,並作出回應.那麼,這一套規則就是腳本。 計算機腳本語言程序舉例 (1)JavaScript: ①用於HTML中: alert("Hello World") ②用於WSH中: WScript.Echo("Hello World") (2)ASP: <% Response.Write("Hello, world!") %> 或者: <% strHelloWorld = "Hello, world!" %> <%= strHelloWorld %> 或者簡單地寫成: <%= "Hello, world!" %> (3)PHP: <?php echo 'Hello, world!'; print 'Hello, world!'; ?> 或者 <?= "Hello World!"?> (4)PERL: #!/usr/local/bin/perl print "Hello, world!\n"; (5)Nuva: <.. "Hello, World!" Demo ..> <. //====================================== // Hello, World! (1) //====================================== ?? 'Hello, World!' /*====================================== Hello, World! (2) ======================================*/ function HelloWorld() ?? "Hello, World!"; end function HelloWorld(); /*====================================== Hello, World! (3) ======================================*/ class World() function Hello() ?? 'Hello, World!'; end function end class var n = World(); n.Hello(); .> (6)ActionScript: ①ActionScript 2.0版本: trace("Hello, world!"); ②ActionScript 3.0版本: package { import flash.display.TextField; import flash.display.MovieClip; import flash.filters.DropShadowFilter; public class HelloWorld extends MovieClip { public function HelloWorld() { var shad:DropShadowFilter = new DropShadowFilter(2, 45, 0x000000, 25, 3, 3, 2, 2); var txt:TextField = new TextField(); txt.textColor = 0xFFFFFF; txt.filters = [shad]; txt.width = 120; txt.x = Math.random()*300; txt.y = Math.random()*300; txt.selectable = false; txt.text = "Hello World! ["+Math.round(txt.x)+","+Math.round(txt.y)+"]"; addChild(txt); } } } (7)PostScript: PostScript是一種專門用來創建圖像的語言,常用於列印機。 /font /Courier findfont 24 scalefont font setfont 100 100 moveto (Hello World!) show showpage (8)AppleScript: say "Hello World!" (9)Bash: #!/usr/bin/env bash myvar="hello" myfunc() { local x local myvar="one two three" for x in $myvar do echo $x done } myfunc echo $myvar $x (10)Ruby #!/usr/bin/env ruby puts "Hello, world!"

㈡ 腳本編程語言有哪些較普及的是哪幾種

1、腳本語言(JavaScript,VBscript等)介於HTML和C,C++,Java,C#等編程語言之間。HTML通常用於格式化和鏈接文本。而編程語言通常用於向機器發出一系列復雜的指令。
具體分類:
1.Ch(C/C++ interpreter)
2.Dao
3.ECMAScript亦稱DMDScript,JavaScript,JScript
4.GameMonkeyScript
5.Guile
6.ICI
7.Lua
8.RBScript(REALbasic Script)
9.Squirrel
10.Tcl
11.Z-Script

㈢ 各種腳本語言,比如shell和tcl、perl有啥區別呢

一、指代不同

1、perl:一種功能豐富的計算機程序語言,運行在超過100種計算機平台上。

2、tcl:工具命令語言。

3、shell:為使用者提供操作界面」的軟體(命令解析器)。

二、特性不同

1、perl:l借取了C、sed、awk、shell腳本語言以及很多其他程序語言的特性,其中最重要的特性是它內部集成了正則表達式的功能,以及巨大的第三方代碼庫CPAN。

2、tcl:本身不提供面向對象的支持。但是語言本身很容易擴展到支持面向對象。許多C語言擴展都提供面向對象能力,包括XOTcl,Incr Tcl等。另外SNIT擴展本身就是用TCL寫的。

3、shell:互動式解釋和執行用戶輸入的命令或者自動地解釋和執行預先設定好的一連串的命令。


三、優勢不同

1、perl:可以很容易操作數字,文本,文件和目錄,計算機和網路,特別是程序的語言。這種語言應該很容易運行外部的程序並且掃描這些程序的輸出獲取感興趣的東西。

2、tcl:經常被用於 快速原型開發,腳本編程,GUI和測試等方面。

3、shell:作為程序設計語言,定義了各種變數和參數,並提供了許多在高級語言中才具有的控制結構,包括循環和分支。


㈣ 現在最主流的編程語言和腳本語言有哪些

最主流的編程語言主要有:C++、C、C#、Java、Objective C、Ruby等;
最主流的腳本語言主要有:Javascript、PHP、Python、Perl、Ruby、VBScript等。

㈤ 腳本有哪幾類和編程語言什麼區別不同類的腳本怎麼區別

這個應該怎麼回答你呢,編程語言確實被分為腳本語言,標記語言,編譯語言,解釋語言,低級語言,高級語言等等。這些分類對於新手來說,往往會把它們搞亂。就好像一個未上過學的農民伯伯問你,什麼是網際網路,什麼是互聯網,什麼是萬維網,什麼是區域網,什麼是城域網一樣,你很難一下子說明清,讓他明白。
這種情況的原因,就在於,這些分類之間並不是嚴格互斥的,相互之間存在重疊和包容。就你的問題而言,腳本語言根本就沒有分類,你的意思可能是想問:腳本語言有哪些。說實話,太多了,其它那些很生僻的就不說了,就一個程序員時常要用到的就不少。平時用得較多的,大致有這些:Ruby,Python,Shell,Javascript,Perl,Awk,Sed,Expect,ActionScript,Lua,PHP等。硬要給這些腳本語言分類的話,只能按它們的用途來分,比如:系統腳本(如Shell,windows批處理),應用腳本,和一般性腳本。
腳本語言中腳本一詞,有配置,動態微調的意味。它最初的目的是為一些大型或超大型程序提供可實時編輯、可動態調整的特性。所以腳本語言的正統用途是把它們的解釋器嵌入到由編譯性語言如C,C++等寫的大型程序中(如瀏覽器,操作系統,大型游戲等),以解釋隨時可變的用戶腳本,提供更改這些大型程序特性,以達到用戶期望程序行為的目的。
一句話,腳本語言的正統使命,是一個中介者,提供用戶與其它大型程序之間的溝通橋梁。舉例來說,瀏覽器是一個完整的大型程序,它內嵌JavaScript解釋器,在運行期間動態解釋用戶的JavaScript腳本程序,以改變WEB頁面的行為,獲得各種頁面效果。同樣,操作系統(以linux為例),就自帶了shell解釋器,用戶通過發shell命令或使用shell腳本程序來獲得主機系統的各種信息(如cpu,內存,磁碟,進程等)。再如一些大型游戲(比如魔獸世界)也內嵌一些腳本語言的解釋器(通常是lua),實現一些與游戲的交互。大家熟悉的3DMax,Photoshop和autoCAD軟體都內嵌有一些腳本語言的解釋器,目的都一樣。
編譯性語言與腳本語言的主要區別在於,腳本是由解釋器逐行解釋執行的,而編譯性語言,則需要將源程序經編譯器編譯在可執行的計算機二進制代碼。然後再執行。其它效率相當高,速度也特別快。但缺點是需要先編譯,然後再執行。腳本語言的優勢在於它的動態性,可以即改即用。
但是有些腳本語言的功能很強大,遠超出了腳本最初的使命。首先,這些腳本語言的解釋器經過優化,速度也非常快;其次,這些語言本身的許多特性也很強大,完全可以開發一些獨立的大型程序。比如ruby,python,perl,php等。
最後,再回應你的最後一個問題:不同的語言對應不同的腳本這個問題,我不太明白你的本意。不同腳本語言,它們的語法肯定是不同的,不可能在語法上完全兼容,那樣的話,你的直觀感受就是,它們是同一個語言。

㈥ 各種組態軟體裡面的腳本編程怎麼學

大多數組態軟體腳本不具備動態創建對象的功能,也不支持自定義類型,僅僅是基本的操作邏輯,所以學起來和編程相比要簡單的多,主要是在描述你的操作行為。。。
所有腳本和語言都有最基本的運算語法,本質幾乎沒什麼差別,主要是基於不同的語言語法規則,寫法上有區別。。。基本邏輯運算,加減乘除賦值,布爾邏輯,位邏輯,條件判斷if,
條件循環while,次數限定循環for,也就這些,很多腳本中連自定義函數概念都沒有,統統是某事件下的執行腳本。。。
腳本,除了基本語法(一通百通的東西), 就是對象和方法。。。
通常腳本會定義許多種對象(任何變數,控制項,報警等等能被你虛擬的看成被操作的有存在感的個體都是對象)。。。 方法就是操作對象用的函數,因為不是所有操作都可以通過給對象賦值簡單的達到目的。。。會存在由軟體提供的特殊操作函數(方法)。。。
你要掌握的無非就是能夠操作的對象有哪些(組態軟體的對象絕大多數都是組態時組態的,很少有動態生成的(正常的編程語言對象都是動態靠代碼生成的),組態軟體通過組態操作簡化這個過程),你如說西門子PLC,你從來沒有常識也不能嘗試,靠一個代碼去創建一個組態,添加一個模塊,或者工藝對象,都是靠組態實現,一開始就創建好了。。。
除了學習如何組態外,就是學習這些組態對象提供的操作方法,或可修改的屬性,操作對象的方法也僅僅就是這些。。。
學腳本其實就是學,組態對象的操作方法,有哪些屬性可以改,改完是什麼結果,提供哪些操作函數,怎麼用,無非就這些,至於要實現的功能,那屬於編程邏輯,到哪都一樣,只可根據經驗意會,沒到具體問題上沒法說的清楚。。。
當然對於有真正編程語言基礎的,尤其是高級語言java, c++,c#基礎的人學這些,都是很簡單的,也會覺得腳本編程束手束腳完全可以更開放些,不過只是因為組態軟體開發者為了使用安全性,和易操作性,編程者的使用受很大限制。。。

㈦ scratch編程小游戲腳本合集百度雲

scratch小游戲源碼,共13個,適合大家自學,包含貪吃蛇,大魚吃小魚,打磚塊,走迷宮,格鬥,飛機大戰等。

scratch游戲腳本首先這種腳本的功能是模塊化。 第二種特點就是它的邏輯結構化。 第三種特點就是界面的多彩性和童趣化。 第四種特點就是硬體協同化。在設計製作游戲腳本的時候可以發現,腳本中主要有運動、外觀、聲音、事件、操控模式以及數據等相應的部分組成,每個腳本都具有一些圖形化的命令,孩子們在進行拖動模塊的過程中能夠根據命令對游戲進行設計,避免了傳統的編程語言規則的學習,讓孩子根據模塊創設出各種各樣的作品。【學少兒編程可以提高孩子邏輯思維、專注力!】

想了解更多關於少兒編程小游戲的相關內容,推薦咨詢童程童美。童程童美專注於中國3-18歲青少兒編程教育,經過多年,研發出針對中國兒童的編程教育體系,在140多所中小學院校開展了編程課程。實行「嚴選拔、強實力、常培訓」的教師管理標准,2000+真人老師,全部全職,堅持為學生提供高品質編程素質教育。【童程童美少兒編程體驗課,點擊可免費報名試聽】

㈧ Shell腳本編程實戰

做 Java 的肯定都接觸過 Linux 系統,那麼很多時候我們在開發的過程中都是把我們項目打成一個jar包,或者是war包的形式,然後通過 XFTP 上傳到我們伺服器的指定目錄,然後運行一端啟動腳本,讓我們的項目變得可以訪問 就像 ./sh service.sh start 然後啟動我們寫好的 sh 的shell腳本。接下來我們就來學習一下關於 Shell 腳本是如何寫出來的。

Shell 腳本是什麼?Shell是一個命令解釋器,它的作用是解釋執行用戶輸入的命令及程序等,也就是說,我們用戶每輸入一條命令,Shell 就會相對應的執行一條命令。當命令或程序語句不在命令行下執行,而是通過一個程序文件來執行時,該程序文件就被稱為Shell腳本。

在我們的 Shell 腳本中,會有各種各樣的內容,賦值,計算,循環等一系列的操作,接下來我們就來看看這個 Shell 腳本怎麼寫吧

1.查看自己當前系統默認的 Shell

echo $SHELL

輸出:/bin/bash

2.查看系統支持的Shell

cat /etc/shells

輸出:

/bin/sh /bin/bash /usr/bin/sh /usr/bin/bash

也就是說,我們的雲伺服器是支持我們在這里給他安排 Shell 腳本的

我們這時候先來安排一下 sh 的文件,創建一個文件夾,然後在其中創建一個 sh 的文件。

mkdir /usr/local/shelltest

touch test.sh

創建完成我們編輯一下內容

vim test.sh

然後我們出來運行一下我們的 Shell 的第一個腳本

bash test.sh

出來的結果是 Hello World Shell

一個及其簡單的腳本出現了,接下我們就分析一波我們寫了點啥?

#!/bin/bash

#! 是一個約定的標記,它告訴系統這個腳本需要什麼解釋器來執行,即使用哪一種 Shell

我們在之前也使用了 echo $SHELL 來查看了自己系統默認的是哪一種 sh 解析器,之前看到的是/bin/bash,所以我們在寫 Shell 腳本的時候,我們在開頭默認的約定中,我們寫了這個是用 /bin/bash 來進行解釋的,

那麼我們如何像之前調用我們的當前目錄中的 Shell 腳本一樣去調用他呢?就像這個樣子的 ./sh service.sh start

1.授權,

我們先不授權試一下看看能通過 ./test.sh 進行調用么

bash: ./test.sh: Permission denied 會提示這個,也就是沒有授權定義,

授權命令:chmod +x test.sh

2.執行 ./test.sh

然後調用就能正常輸出了,就是說,在當前的目錄下執行這個腳本命令。

變數命名實際上很簡單,我們先來試一下

name=yikeji

這時候我們怎麼使用變數呢?實際上只要在前面加上一個符號就可以 $

echo $name

上面的兩種寫法都是可以的,外面的大括弧加和不加區別不大,可以省略,直接就 $name 就可以使用你定義的變數

使用括弧的意義一般在於區別某些變數,比如你寫了一串的內容,可能寫的是 echo $nameismyfriend ,如果連在一起,是不是有點尷尬,這時候就可以使用括弧區別一下, echo ${name}ismyfriend 不使用括弧的時候,他就去找nameismyfriend這個變數了,就無法出來我們要的效果。

unset name

這時候我們就把我們剛才定義的 name=yikeji 這個變數給去掉了,我們可以調用一下我們的變數看是什麼?

echo $name

這是不是就證明我們自己定義的變數已經刪除了

那麼我們需要一個關鍵字,大家肯定能想到是什麼關鍵字 readonly

我們先給name賦值,然後使用 readonly 設置只讀,然後再改變一下試試,

竟然是真的,如果不設置只讀,是不是會重新可以進行賦值,我們測試個年齡,

所以我們就可以肯定,readonly就是設置只讀的關鍵詞,記住了么?

那麼設置只讀的變數可以刪除么?畢竟總有杠精的面試官會提問這個棘手的問題,但是,阿粉試過的所有方式好像都是不行的,阿粉就直接重啟了自己的伺服器,這樣臨時的變數就不存在了!

說真的,Shell腳本的流程式控制制數一般才是yyds,為什麼這么說,因為你在寫大部分的腳本的時候,流程式控制制的地方永遠是最多的,判斷,選擇,等等一系列的函數,當時熟練使用的時候,就發現這東西確實很有意思。

我們先說最簡單的 if else 這也是我們最經常使用的判斷,在寫 Shell 腳本的時候,就不像我們的 Java 中直接寫

Xshell 中的語法就不是這個樣子的, Xshell 語法:

末尾的 fi 就是 if 倒過來拼寫,我們可以寫一個 if 的腳本試一下這個流程能否理解。

這里申明一下,

我們在上面這段腳本中寫就是內容就是,我們給腳本傳入一個值,然後比對這個值和2的大小關系,然後輸出我們指定的內容。

運行後就能看到

$1 表示我們給 Shell 腳本輸入的第一個參數, $0 就是你寫的shell腳本本身的名字,$2 是我們給 Shell 腳本傳的第二個參數

大家在部署某些項目的時候,是不是啟動命令就很簡潔,就是 sh service.sh start 類似這種的,那我們來看看一般這種是怎麼寫的,這就用到了另外一塊的內容,和 if 類似,在 Java 中也有,那就是 Case .

我們先來看看 Case 的語法,

case ... esac 實際上就和 Java 中的 Case 是非常相似的,case 語句匹配一個值與一個模式,如果匹配成功,執行相匹配的命令. esac 是一個結束的標志。

光說不練,假把式,我們來搞一下試試寫一個腳本來搞一下。就用我們剛才說的 sh servic.sh start 來進行測試。

我們來看看運行結果

那麼這段 Shell 腳本是什麼意思呢?其實很簡單,匹配我們傳入的第一個字元,和 start 還有 stop 進行比較,如果匹配上之後,輸出命令,最後退出即可。

是不是感覺沒有那麼復雜了呢?

說到流程式控制制,那麼肯定不能不說 for , 畢竟 for 循環在 Java 中那可是重頭戲。

我們先看他的格式

那麼我們有沒有說像是 Java 中那種 for 循環一樣的方式呢?比如說這個 for ((i=1; i<=j; i++))

實際上也是支持這種的,我們來寫一個試試。

執行一下看看

既然有 for 那是不是就有 while 呢?是的,沒錯,確實是有 while ,也是循環的意思,但是寫法有略微不一樣的地方

我們來舉個嘗試列印九九乘法表來看一下

是不是也挺簡單的?

其實 Shell 腳本的編寫一般都是在實際應用中提升,單純的寫測試腳本,也是可以讓自己對知識的掌握比較充分,而我們一般都是寫一些比較簡單的腳本,復雜的不是還有運維么?

熱點內容
機械戰警用什麼配置好看 發布:2024-05-06 20:27:12 瀏覽:435
win10添加python環境變數 發布:2024-05-06 20:27:12 瀏覽:313
並聯臂演算法 發布:2024-05-06 20:02:11 瀏覽:623
cf跟dnf哪個需求配置高 發布:2024-05-06 20:01:23 瀏覽:657
什麼配置皮筋能打老鼠嗎 發布:2024-05-06 19:54:32 瀏覽:742
壓縮機油壓差報警 發布:2024-05-06 19:45:08 瀏覽:336
打游戲腳本好不好 發布:2024-05-06 19:44:00 瀏覽:235
七日殺如何轉移伺服器 發布:2024-05-06 19:43:04 瀏覽:429
唐plusdmi買哪個配置 發布:2024-05-06 19:36:48 瀏覽:148
汽車安卓屏開燈效果怎麼弄 發布:2024-05-06 19:12:36 瀏覽:76