Ⅰ 如何在腳本里定義變數,大家來看看啊!
很多標簽都可以,比如
文本標簽
下拉框選擇標簽等等,只要你在這些標簽里寫id=「」
這個屬性,就可以將這個id定義為全局變數。通過賦值語句可以在任何一個function中將這個變數賦值,通過獲取值語句在任何function中也可以取出這個值。
Ⅱ 如何在shell腳本中使用變數
在網路中 搜索 linux 系統中使用變數 關鍵詞 ,有問題網路。 下面是我查的示例。
顯示環境變數HOME
$ echo $HOME
/home/redbooks
2. 設置一個新的環境變數hello
$ export HELLO="Hello!"
$ echo $HELLO
Hello!
3. 使用env命令顯示所有的環境變數
$ env
HOSTNAME=redbooks.safe.org
PVM_RSH=/usr/bin/rsh
Shell=/bin/bash
TERM=xterm
HISTSIZE=1000
...
4. 使用set命令顯示所有本地定義的Shell變數
$ set
BASH=/bin/bash
BASH_VERSINFO=([0]="2"[1]="05b"[2]="0"[3]="1"[4]="release"[5]="i386-redhat-linux-gnu")
BASH_VERSION='2.05b.0(1)-release'
COLORS=/etc/DIR_COLORS.xterm
COLUMNS=80
DIRSTACK=()
DISPLAY=:0.0
...
5. 使用unset命令來清除環境變數
set可以設置某個環境變數的值。清除環境變數的值用unset命令。如果未指定值,則該變數值將被設為NULL。示例如下:
$ export TEST="Test..." #增加一個環境變數TEST
$ env|grep TEST #此命令有輸入,證明環境變數TEST已經存在了
TEST=Test...
$ unset $TEST #刪除環境變數TEST
$ env|grep TEST #此命令沒有輸出,證明環境變數TEST已經存在了
6. 使用readonly命令設置只讀變數
如果使用了readonly命令的話,變數就不可以被修改或清除了。示例如下:
$ export TEST="Test..." #增加一個環境變數TEST
$ readonly TEST #將環境變數TEST設為只讀
$ unset TEST #會發現此變數不能被刪除
-bash: unset: TEST: cannot unset: readonly variable
$ TEST="New" #會發現此也變數不能被修改
-bash: TEST: readonly variable
環境變數的設置位於/etc/profile文件
如果需要增加新的環境變數可以添加下屬行
export path=$path:/path1:/path2:/pahtN
-----------------------------------------------------------------------------------------------------------------------
1.Linux的變數種類
按變數的生存周期來劃分,Linux變數可分為兩類:
1.1 永久的:需要修改配置文件,變數永久生效。
1.2 臨時的:使用export命令聲明即可,變數在關閉shell時失效。
2.設置變數的三種方法
2.1 在/etc/profile文件中添加變數【對所有用戶生效(永久的)】
用VI在文件/etc/profile文件中增加變數,該變數將會對Linux下所有用戶有效,並且是「永久的」。
例如:編輯/etc/profile文件,添加CLASSPATH變數
# vi /etc/profile
export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
註:修改文件後要想馬上生效還要運行# source /etc/profile不然只能在下次重進此用戶時生效。
2.2 在用戶目錄下的.bash_profile文件中增加變數【對單一用戶生效(永久的)】
用VI在用戶目錄下的.bash_profile文件中增加變數,改變數僅會對當前用戶有效,並且是「永久的」。
例如:編輯guok用戶目錄(/home/guok)下的.bash_profile
$ vi /home/guok/.bash.profile
添加如下內容:
export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
註:修改文件後要想馬上生效還要運行$ source /home/guok/.bash_profile不然只能在下次重進此用戶時生效。
2.3 直接運行export命令定義變數【只對當前shell(BASH)有效(臨時的)】
在shell的命令行下直接使用[export 變數名=變數值] 定義變數,該變數只在當前的shell(BASH)或其子shell(BASH)下是有效的,shell關閉了,變數也就失效了,再打開新shell時就沒有這個變數,需要使用的話還需要重新定義。
3.環境變數的查看
3.1 使用echo命令查看單個環境變數。例如:
echo $PATH
3.2 使用env查看所有環境變數。例如:
env
3.3 使用set查看所有本地定義的環境變數。
unset可以刪除指定的環境變數。
4.常用的環境變數
PATH 決定了shell將到哪些目錄中尋找命令或程序
HOME 當前用戶主目錄
HISTSIZE歷史記錄數
LOGNAME 當前用戶的登錄名
HOSTNAME指主機的名稱
SHELL 當前用戶Shell類型
LANGUGE 語言相關的環境變數,多語言可以修改此環境變數
MAIL當前用戶的郵件存放目錄
PS1基本提示符,對於root用戶是#,對於普通用戶是$
Ⅲ 問個關於多線程腳本中子線程如何改變全局變數問題
你的全局變數是類全局變數還是整個程序的全局變數?
具體描述一下你想要的效果
子線程是不是一個內部類?如果不是內部類,則把子線程改為內部類試試。因為內部類是可以直接使用外部類的全局屬性的。
Ⅳ Unity3D如何正確調用與修改另一個腳本中的全局變數(在碰撞檢測中)
voidOnCollisionEnter2D(Collision2Dcol)///Collision2Dco1碰撞的那個碰撞物體信息
{
varyk=col.transform.GetComponent<bringkey>();//獲取那個碰撞物體上的類BringKey
if(yk.yellowkey>0)
{
Destroy(gameObject);
yk.yellowkey--;
}
}
要獲取的是已經存在於場景中的對象,繼承MonoBehaviour的類相當於你貼到對象上的一個腳本控制項。你要獲取的是一個已經存在與場景內的對象,不能使用New,OnCollisionEnter2D函數中發生碰撞的那一刻會把與當前物體接觸的那個物體碰撞信息通過參數Collision2D col傳遞進來。可以通過這個傳遞過來的值,修改傳遞過來物體上腳本的參數。
Ⅳ 按鍵精靈里怎麼設置自定義變數腳本
有兩種方法:
1.直接在腳本中設定變數的值,例如:
a=1
b=2
2.另一種是在腳本里設定用戶自定義變數,例如:UserVar renshu=427 "人數自定義"
意思是設定人數的初始值為427,但是運行用戶自行修改初始值。
Ⅵ unity中怎麼在一個腳本中使用並修改另一腳本中的變數
C# 中沒有全局變數,你是不是指成員變數(用 UnityScript 語言只是省略的類名,那裡看上去的全局變數其實也是成員變數)。
有好幾種方法都可以
1. 把另一個類中的成員做成 static 的,用 MyClass.member 的方法調用
2. 把另一個類(繼承於 MonoBehaviour)做出單件模式,用類似下面的方法:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
private static MyClass instance;
public static MyClass Instance {
get {
// This should NEVER happen, so we want to know about it if it does
if (instance == null) {
Debug.LogError("MyClass instance does not exist");
}
return instance;
}
}
void Awake()
{
instance = this;
}
3. 因為 MonoBehaviour 的本身就是 Component,所以一個繼承於 MonoBehaviour 的行為腳本本質上和 Transform、Collider 等一樣是游戲對象組件。首先拿到這個腳本掛載的 gameObject(如果兩個腳本掛載在一個 gameObject 下就不用得到,因為默認就是當前 gameObject),用 gameObject.GetComponent<MyClass>() 得到另一個類的運行實例。
Ⅶ 腳本中子線程如何改變全局變數問題
你的全局變數是類全局變數還是整個程序的全局變數?
具體描述一下你想要的效果
子線程是不是一個內部類?如果不是內部類,則把子線程改為內部類試試。因為內部類是可以直接使用外部類的全局屬性的。
Ⅷ 如何在shell腳本中設置環境變數
如何通過shell腳本設置全局的環境變數
-bash-3.00# env
HZ=100
LC_MONETARY=en_US.ISO8859-1
SHELL=/usr/bin/bash
TERM=ansi
LC_NUMERIC=en_US.ISO8859-1
MAIL=/var/mail/pc
PATH=/usr/sbin:/usr/bin:.
LC_MESSAGES=C
LC_COLLATE=en_US.ISO8859-1
PWD=/export/home/pc
TZ=PRC
SHLVL=1
HOME=/export/home/pc
LOGNAME=pc
LC_CTYPE=en_US.ISO8859-1
LC_TIME=en_US.ISO8859-1
_=/usr/bin/env
如果只想看指定的變數設置,如路徑PATH的設置,可以用 "echo $PATH"或 「 env | grep PATH"或」 env | grep -i path"來查詢。前面的適合知道全名的,後面2種適合只知道部分欄位或者部分關鍵字母(甚至不確定字元大小寫)的。
-bash-3.00# echo $PATH
/usr/sbin:/usr/bin:.
-bash-3.00# env | grep PATH
PATH=/usr/sbin:/usr/bin:.
Ⅸ 如何用腳本直接修改系統的環境變數
方法一:批處理中,修改環境變數,一次性有效(也就是在當前的腳本中有效) CMD中運行 set path==%path%;d:/mypath 用 set path可以查看,當前的環境變數 方法二 :批處理中,修改環境變數,永久有效 ::更改path環境變數值,新增e:tools wmic ENVIRONMENT where "name='path' and username='<system>'" set VariableValue="%path%;e:tools"
Ⅹ 如何在一個腳本里,改變另一個腳本的變數值
一個負責寫入,,一個讀取。。。