① 如何編譯腳本
首先要了解什麼是腳本? 腳本(Script),就是含有bind和alias等命令的集合,你可以把這個集合存為一個獨立的文件然後在需要的時候執行,這樣就可以方便你在CS中的使用。 腳本可以存為後綴名為.cfg的文件放在cstrike文件夾下,執行時在控制台輸入:exec (腳本文件名).cfg 即可。比如將一個腳本存為buys.cfg文件,則在控制台中輸入:exec buys.cfg則可以實現我們所需要的功能。要實現一個命令只要把這一過程定義(alias)好,並且分配一個鍵位給這個命令,以後只要按分配好的鍵位,就可以實現這一過程。所有的腳本都是通過這一方法實現的。 語句簡介: 1. alias語句是參數賦值用,語法為alias 參數名 "數值" 2. bind語句為綁定命令,就是把某個alias賦值的參數綁到某個鍵。具體的語法為bind "鍵名" "參數名" 3. "buy"相當於按下"b"鍵; "buyequip"相當於按下"o"鍵; "menuselect x"就是對應購買菜單的號碼。 舉兩個例子: * 你要買ak47,那你在開局時會按b-->4-->1, 對應的腳本就是buy; menuselect 4; menuselect 1;(中間用分號隔開) * 你要買手雷和1個閃光彈的話,那你在開局時會按o-->4,o-->3, 對應的腳本就是buyequip; menuselect 4; buyequip; menuselect 3; 注意bind鍵不能沖突,否則先bind的無效 什麼是bind? Bind就是分配一個命令到指定的鍵,它同樣能夠分配一個alias到指定的鍵。 比如:bind "mouse1" " attack" 表示分配 attack(攻擊)這個命令到指定的鍵mouse1(滑鼠左鍵) 什麼是alias? Alias就是給一組命令定義一個名稱,當你定義過後,CS就認為此alias為一個普通的命令,你可以用bind命令分配一個鍵給這個alias,也可以在其他的alias中使用它。 比如:alias hw "say Hello World!" 則當你在控制台(console)中輸入hw這條命令回車執行後,你就對伺服器里所有的玩家說了"Hello World!"這句話。 你還可以用bind命令:bind "v" "hw" 當你按過v鍵後,你同樣對伺服器里所有的玩家說了Hello World!這句話。 又比如: alias buym "buy;menuselect 3;menuselect 1" //(注:相當於b-3-1) alias buyv "buy;menuselect 8;menuselect 1" //(注:相當於b-8-1) alias buysay "buym;buyv;hw" //(注:組合定義到一起) bind j "buysay" //(注:組合再定義到J鍵) 則表示當你執行buysay命令(注:按J鍵即可)後,購買MP5和普通防彈衣,然後對伺服器里所有的玩家說Hello World!這句話。 此alias實現的方法為: 第一步執行buym命令,buym命令已經定義好為"打開購買菜單;選擇菜單第3項;再選擇菜單第1項",即實現了購買MP5的功能; 第二步執行buyv命令,buyv命令已經定義好為"打開購買菜單;選擇菜單第8項;再選擇菜單第1項",即實現了購買普通防彈衣的功能; 第三步執行之前已經定義好的hw命令:對伺服器里所有的玩家說Hello World!這句話。 把這三步命令定義為一個新的命令buysay,然後用bind命令分配一個鍵給這個新的命令,則當你按下j鍵後就實現了這三步命令的功能。 注意: alias語句在Half-Life Counter-Strike里不能超過259個字元即下面這行字元的長度(一般也超不到這里來的)
② 腳本是用什麼語言編譯
編譯性語言:
在運行前需要將源代碼轉換為可執行代碼的語言。
例如:C, C++, Java, C#。
解釋性語言:
運行前不需要編譯,可直接由運行器程序直接執行的編程語言。
例如:PHP, Bash。
腳本語言:
解釋性語言中,用於執行簡單任務的語言。一般沒有 類 或者此類高級功能。
例如:Bash, Batch。
③ window腳本怎麼編輯、編譯及運行
編輯:一般的文本編輯軟體都可以 UE 等等
編譯:腳本不需要編譯
運行:命名為bat格式的 ,在windows 命令行里直接執行編輯好的文件
比如
echo this is a test script。
④ 如何把VBS腳本編譯成可執行的EXE文件
如果你希望編譯後的EXE在不支持VBS的機器上執行,那可能非常麻煩,甚至一定時期內無法實現。
如果編譯的EXE還是在支持VBS的系統上執行,那就簡單了,你可以隨便選擇一個語言,比如DELPHI、C++、VB都可以,把VBS腳本內容寫在高級語言的源程序裡面,程序運行時在臨時文件夾建立一個VBS文件,然後調用它,運行完畢以後刪除腳本。
⑤ 如何把shell腳本編譯成二進制可執行腳本
你可以試試下面兩種方法
a. easy way: gzexe shell-name
b. gcc compile file
⑥ 腳本語言不需要編譯怎麼執行呀
因為大多數腳本都是解釋型語言。
解釋型語言是相對於編譯型語言存在的,源代碼不是直接翻譯成機器語言,而是先翻譯成中間代碼,再由解釋器對中間代碼進行解釋運行。比如Python/JavaScript / Perl /Shell等都是解釋型語言。 解釋型語言:程序不需要編譯,程序在運行時才翻譯成機器語言,每執 行一次都要翻譯一次。因此效率比較低。比如Basic語言,專門有一個解釋器能夠直接執行Basic程 序,每個語句都是執行的時候才翻譯。(在運行程序的時候才翻譯,專門有一個解釋器去進行翻譯,每個語句都是執行的時候才翻譯。效率比較低,依賴解釋器,跨平台性好.)
一個是編譯,一個是解釋。兩種方式只是翻譯的時間不同。編譯型語言寫的程序執行之前,需要一個專門的編譯過程,把程序編譯成為機器語言的文件,比如exe文件,以後要運行的話就不用重新翻譯了,直接使用編譯的結果就行了(exe文件),因為翻譯只做了一次,運行時不需要翻譯,所以編譯型語言的程序執行效率高,但也不能一概而論,部分解釋型語言的解釋器通過在運行時動態優化代碼,甚至能夠使解釋型語言的性能超過編譯型語言。
解釋則不同,解釋性語言的程序不需要編譯,省了道工序,解釋性語言在運行程序的時候才翻譯,比如解釋性basic語言,專門有一個解釋器能夠直接執行basic程序,每個語句都是執行的時候才翻譯。這樣解釋性語言每執行一次就要翻譯一次,效率比較低。解釋是一句一句的翻譯。
⑦ 如何編寫一個編譯程序的腳本
Linux中我們安裝軟體或者一些常用操作,都會接觸很多命令,有時在關鍵時刻往往因為忘了一些簡單的命令而苦惱,這時,我們不妨把命令寫成可執行的批量腳本,可以減少很多重復而又容易忘記的代碼,寫成一鍵腳本還有一個好處就是方便遷移,可以直接將寫好的sh文件在其他Linux平台運行。
格式:
文件後綴.sh
第一行代碼需要指定路徑來執行程序
#!/bin/sh
#!/bin/bash
一般一鍵腳本會要求用戶輸入各種選項:
#提示「請輸入姓名」並等待30秒,把用戶的輸入保存入變數name中
read -t 30 -p "請輸入用戶名稱:" name
echo -e "\n"
echo "用戶名為:$name"
#提示「請輸入密碼」並等待30秒,把用戶的輸入保存入變數age中,輸入內容隱藏
read -t 30 -s -p "請輸入用戶密碼:" age
echo -e "\n"
echo "用戶密碼為:$age"
#提示「請輸入性別」並等待30秒,把用戶的輸入保存入變數sex中,只接受一個字元輸入
read -t 30 -n 1 -p "請輸入用戶性別:" sex
echo -e "\n"
echo "性別為$sex"
⑧ 用shell腳本怎樣編譯java工程
用shell腳本怎樣編譯java工程
編譯java工程一般直接用IDE或者用Ant、Maven之類的工具,很少有人用純shell來編譯java工程。正好遇到這樣一個應該,用這篇博文做一下記錄。
案例:用eclipse寫了一個java project,然後編譯打成jar包。
這個可以採用eclipse自帶的Export就可以導出jar了。但是為了軟體自動化等巴拉巴拉的原因,採用存shell腳本編譯。
就是制定了運行的main-class(有public static void main(String args[])的類)。
將這個文件拷貝到iec104的根目錄下,然後執行腳本compile.sh,內容如下:
#!/bin/bash
cur_dir=$(pwd)
echo $cur_dir
function do_compile_iec104(){
# echo $cur_dir
iec104=$cur_dir/iec104
iec104_src=$cur_dir/iec104/src
iec104_bin=$cur_dir/iec104/bin
# echo $iec104_src
# echo $iec104_bin
iec104_class=$cur_dir/iec104/class
# 將iec104的src目錄下的所有java文件的名稱存入到iec104/src/sources.list文件中
rm -rf $iec104_src/sources.list
find $iec104_src -name "*.java" > $iec104_src/sources.list
cat $iec104_src/sources.list
# $iec104_class是存放編譯的class文件的目錄
rm -rf $iec104_class
mkdir $iec104_class
# 這里開始編譯java文件,注意這里的-encoding utf-8,剛開始並沒有加入這個,然後就報了一堆錯誤,糾結了很久才發現,這里給各位提個醒了。
javac -d $iec104_class -encoding utf-8 -classpath $iec104_bin/classes12.jar:$iec104_bin/junit-4.10.jar:$iec104_bin/log4j-1.2.17.jar:$iec104_bin/mysql-connector-java-5.0.5-bin.jar:$iec104_bin/RXTXcomm.jar -g -sourcepath $iec104_src @$iec104_src/sources.list
# 由於用到了log4j,所以要將log4j的配置文件一並放入,如果沒有用到,可以忽略這句
cp $iec104_src/log4j.properties $iec104_class
# 如果原來在iec104目錄下有jar報就刪除掉,因為要生成新的
rm $iec104/iec104.jar
# 這里要cd到存放class的目錄,否則如果採用絕對路徑編譯,編譯出來的jar包裡面就是絕對路徑了,這樣就會有問題
# jar -cvfm $iec104/iec104.jar $iec104/MANIFEST.MF $iec104_class/*這樣是錯誤的
cd $iec104_class
jar -cvfm $iec104/iec104.jar $iec104/MANIFEST.MF *
# 賦予可執行許可權
sudo chmod a+x $iec104/iec104.jar
}
do_compile_iec104
exit 0
運行這個腳本(linux下)就可以編譯並且在iec104的目錄下就可以看到iec104.jar文件了。
這里補充下java命令的基本知識:
javac 用於編譯Java文件,格式為:
java [options] [sourcefiles] [@files]
其中:
options:命令行選項;
sourcefiles:一個或多個要編譯的源文件;
@files:一個或多個對源文件進行列表的文件,有時候要編譯的文件很多,一個個敲命令會顯得很長,也不方便修改,可以把要編譯的源文件列在文件中,在文件名前加@,這樣就可以對多個文件進行編譯,對編譯一個工程很有用,方便,省事。
有幾個比較重要的選項:
-d 用於指定編譯成的class文件的存放位置,預設情況下不指定class文件的存放目錄,編譯的class文件將和源文件在同一目錄下;
-classpath 可以簡寫成-cp,用於搜索編譯所需的class文件,指出編譯所用到的class文件的位置,如jar、zip或者其他包含class文件的目錄,指定該選項會覆蓋CLASSPATH的設定;
-sourcepath用於搜索編譯所需的源文件(即java文件),指定要搜索的源文件的位置,如jar、zip或其他包含java文件的目錄;
需要注意windows下和linux下文件路徑分隔符和文件列表(即-classpath和-sourcepath指定的文件)分隔符的區別:
windows下文件路徑分隔符用 ,文件列表分隔符用分號 ;
linux下文件路徑分隔符用 / ,文件列表分隔符用冒號 :
⑨ 自動編譯腳本怎麼寫
MOV DX, OFFSET MSG1
MOV AH, 9 ;9號功能調用,顯示提示.
INT 21H ;顯示.
MOV AH, 1 ;1號功能調用,鍵入、顯示.
INT 21H ;
CMP AL, '0'
JB ERR
CMP AL, '9'
JBE L1 ;小於等於9轉移.
ERR:
MOV DX, OFFSET MSG3
MOV AH, 9 ;9號功能調用,顯示提示.
INT 21H ;顯示.
JMP EXIT
;------------------------------
L1:
⑩ 像這樣的編譯腳本是用什麼工具製作的
編譯環境是gcc 基於c語言 編譯指令 make&&make install