shell中傳遞變數到另乙個指令碼檔案中

2021-12-30 03:29:32 字數 838 閱讀 1205

在指令碼中呼叫另一指令碼(這實際上建立了乙個子程序)

www.2cto.com  

father.sh

#!/bin/bash

echo "this is the father"

film="a few good men"

echo "i like the film : $film"

#call the child script

#export film

./child.sh

echo "back to father"

echo "and the film is : $film"

exit

child.sh

www.2cto.com  

#!/bin/bash

echo "called from father...i am the child"

echo "filem name is : $film"

film="die hard"

echo "changing film to :$film"

exit

結果如下:

解析:這是因為 father 中並沒有匯出變數 film 給 child。

www.2cto.com  

當 father 把 變數 film 匯出給 child,child指令碼就知道了 film變數的值了,

結果如下:

因為 father 把變數 film用 export命令匯出了,所以任意的指令碼都可以使用 變數 film 了,

它們將繼承的 film的所有權。

需要注意的是:不可以將子程序的變數匯出到父程序;要實現這一點,可以通過重定向。

在乙個類中監聽另乙個類中變數改變

當乙個類中某個變數改變時,需要在另乙個類中做出應對,可以用下面的方法 以android為例 public class a extendsactivity implements b.oncupdatelistenerpublic void oncupdate int c public class bp...

js複製乙個物件給另乙個變數

js中如果只是用var objnew objold來將乙個物件賦值給另乙個物件,這實際上是將objold的記憶體位址值賦值到給了objnew,當之後objnew物件發生的任何變化都會同樣作用於objold物件中 function clone myobj if myobj null if myobj ...

shell載入呼叫另乙個指令碼方法

在linux平台上開發,經常會在console 控制台 上執行另外乙個指令碼檔案,經常用的方法有 my.sh 或 source my.sh 或 my.sh 這三種方法有什麼不同呢?我們先來了解一下在乙個shell指令碼中如何呼叫另外乙個shell指令碼,其方法有 fork exec source。1...