亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 2243 | 回復(fù): 5
打印 上一主題 下一主題

[系統(tǒng)管理] [結(jié)貼]set設(shè)置的環(huán)境變量,似乎是當(dāng)前shell的而不是全局的? [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2015-05-06 10:39 |只看該作者 |倒序?yàn)g覽
本帖最后由 wqrocdr 于 2015-05-07 09:09 編輯

例如,我登錄到bash里面,然后我再進(jìn)一層bash:

  1. bash
  2. :~$ set a=2
  3. :~$ exit
  4. exit
  5. :~$ echo $a

  6. :~$
復(fù)制代碼
我的理解是: 用set命令定義一個(gè)變量,這個(gè)變量就成為環(huán)境變量了,環(huán)境變量是全局的吧? 但是從我的實(shí)驗(yàn)看起來,環(huán)境變量只是當(dāng)前shell以及它的子shell里面有效。
那么這個(gè)和普通的變量聲明a=2有什么區(qū)別呢? 變量的作用域和生命周期都是一樣的啊,那么環(huán)境變量和普通變量的區(qū)別只是用env命令能否看見?

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2015-05-06 13:56 |只看該作者
set或者export出來的環(huán)境變量都只在本會(huì)話有效,本會(huì)話退出后即失效。不管是UNIX還是LINUX或者WINDOWS都是如此。

要讓環(huán)境變量在退出會(huì)話后依然有效,則需要在用戶登錄的profile里添加此環(huán)境變量的聲明,或者在系統(tǒng)級別的參數(shù)中設(shè)置此環(huán)境變量

論壇徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年紀(jì)念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役紀(jì)念章
日期:2022-04-24 14:33:24
3 [報(bào)告]
發(fā)表于 2015-05-06 14:17 |只看該作者
Windows是把環(huán)境變量的定義放在注冊表里面
Linux是把環(huán)境變量的定義放在 /etc/profile 或者用戶自己的 login profile 里面

論壇徽章:
0
4 [報(bào)告]
發(fā)表于 2015-05-06 17:23 |只看該作者
bedba 發(fā)表于 2015-05-06 13:56
set或者export出來的環(huán)境變量都只在本會(huì)話有效,本會(huì)話退出后即失效。不管是UNIX還是LINUX或者WINDOWS都是如 ...


那set和export的本質(zhì)區(qū)別在哪里呢?

求職 : Linux運(yùn)維
論壇徽章:
203
拜羊年徽章
日期:2015-03-03 16:15:432015年辭舊歲徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:57:092015小元宵徽章
日期:2015-03-06 15:58:182015年亞洲杯之約旦
日期:2015-04-05 20:08:292015年亞洲杯之澳大利亞
日期:2015-04-09 09:25:552015年亞洲杯之約旦
日期:2015-04-10 17:34:102015年亞洲杯之巴勒斯坦
日期:2015-04-10 17:35:342015年亞洲杯之日本
日期:2015-04-16 16:28:552015年亞洲杯紀(jì)念徽章
日期:2015-04-27 23:29:17操作系統(tǒng)版塊每日發(fā)帖之星
日期:2015-06-06 22:20:00操作系統(tǒng)版塊每日發(fā)帖之星
日期:2015-06-09 22:20:00
5 [報(bào)告]
發(fā)表于 2015-05-06 23:35 |只看該作者
本帖最后由 lyhabc 于 2015-05-06 23:38 編輯

系統(tǒng)環(huán)境變量
env
set  自定義變量也可以查
unset
export 定義全局變量



打印當(dāng)前用戶內(nèi)置變量 用戶不同 變量不同
env

所有變量全部列出來 不管有沒有聲明都可以列出來
set

聲明(全局變量 )在子shell生效  全局生效 需要export一下
export a=1

bash開一個(gè)子shell

env 就可以看到a=1 ,因?yàn)閍是全局變量


系統(tǒng)所有用戶使用變量: export myname=Aming  全局變量,加入/etc/profile并source /etc/profile永久生效
系統(tǒng)某個(gè)用戶使用變量: export myname=Aming 加入當(dāng)前用戶家目錄下的 .bashrc中 source .bashrc
export myname=Aming  全局變量,export 不加任何選項(xiàng)表示,聲明所有的環(huán)境變量以及用戶自定義變量


env 可以列出當(dāng)前用戶的所有環(huán)境變量以及用戶自定義全局變量
set命令可以把所有變量列出來包括系統(tǒng)的和自定義的全局變量以及當(dāng)前shell自定義變量

set 和export
set 正如其名,他只是set一下,范圍不是全局的,他沒有聲明的意思
export 他是聲明的意思,所以他在可以全局聲明,而set做不到

論壇徽章:
0
6 [報(bào)告]
發(fā)表于 2015-05-07 08:23 |只看該作者
回復(fù) 4# wqrocdr


    可參考五樓的。

另外,不太贊同五樓的全局或者非全局的說法,我的本意是set和export的使用不同,例如set可以在windows或者csh下設(shè)置,export可以在bash、sh、ksh等環(huán)境下設(shè)置
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP