linux引用變數
① linux 變數嵌套引用
forIin{1..10};do
declare-iQ$I=$RANDOM
evalecho'$'Q$I
done
這樣可以不?
② linux中如何實現變數的嵌套引用
${!varname_2}
比如說,
echo ${!varname_2}
列印出
a
③ linux$(())之間的變數要加$符號不呢
${ }中放的是變數,例如echo ${hello}取hello變數的值並列印,也可以不加括弧比如$hello。
$的作用相當於引用某變數的值,例如變數myvar,我們需要通過$取得變數的值,即$myvar
更多Linux知識可參考書籍《Linux就該這么學》。
④ linux:在變數值引用命令過程中,如果想要獲取命令的結果,則需要如何操作
將一條命令的執行結果取得命令執行結果的值有:
1、使用反引號`` (數字鍵1左邊的鍵,tab鍵上面,英文方式輸入) 如:a=`echo "hello world"`;即將命令 echo "hello world"的輸出賦給變數a2、可以使用 $(()),如:a=$(echo "hello world"),即將命令echo "hello world"的輸出賦給變數a。
以下為具體語句:
⑤ linux如何添加自定義變數
1.Linux的變數種類
按變數的生存周期來劃分,Linux變數可分為兩類:
1. 永久的:需要修改配置文件,變數永久生效。
2. 臨時的:使用export命令聲明即可,變數在關閉shell時失效。
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. 在用戶目錄下的.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不然只能在下次重進此用戶時生效。
3. 直接運行export命令定義變數【只對當前shell(BASH)有效(臨時的)】
在shell的命令行下直接使用[export 變數名=變數值]
定義變數,該變數只在當前的shell(BASH)或其子shell(BASH)下是有效的,shell關閉了,變數也就失效了,再打開新shell時就沒有這個變數,需要使用的話還需要重新定義。
⑥ linux的echo命令使用變數。
echo " \" `$a` \" " >a.txt
這樣就可以了。
⑦ linux下.vimrc怎麼引用系統環境變數
例如:給root用戶添加環境變數,只需要修改/root/.bash_profile文件,添加export xx="dddddd"即可。有一個問題:變數LD_LIBRARY_PATH在.bash_profile中設置不起作用,原因是:因為.bash_profile是中登錄的時候調用, 請寫在.bashrc中.解決辦法:...
⑧ linux 間接引用變數 目標變數的值是某變數的變數名,而這個變數名帶有變數
這就是eval命令該做的事情。
最後一句改為:
evaltables=$${name}_a_all
⑨ 怎麼設置Linux的環境變數
Linux系統下最重要的10個環境變數:
變數名稱作用
HOME用戶的主目錄(即家目錄)。
SHELL用戶在使用的SHELL解釋器名稱。
HISTSIZE歷史命令記錄條數。
HISTFILESIZE歷史命令記錄條數。
MAIL郵件信箱文件保存路徑。
LANG系統語言、語系名稱。
RANDOM生成一個隨機數字。
PS1bash解釋器的提示符。
PATH定義解釋器搜索用戶執行命令的路徑。
EDITOR用戶默認的文本編輯器。
Linux系統為了能夠為每個用戶提供獨立的、合適的工作運行環境,因此在不同的用戶身份下提取一個相同的變數也可能會獲得不同的值,例如查看下HOME變數在不同用戶身份下的值都有那些吧(su是用於切換用戶身份的命令,將在第5章跟大家見面~):
[root@linuxprobe ~]# echo $HOME
/root
[root@linuxprobe ~]# su - linuxprobe
Last login: Fri Feb 27 19:49:57 CST 2017 on pts/0
[linuxprobe@linuxprobe ~]$ echo $HOME
/home/linuxprobe
其實變數是由固定的變數名與用戶或系統設置的變數值兩部分組成的,如果工作需要完全可以自己手工創建的,例如設置一個名稱為WORKDIR的變數,方便用戶更輕松的進入一個很深層的目錄:
[root@linuxprobe ~]# mkdir /home/workdir
[root@linuxprobe ~]# WORKDIR=/home/workdir
[root@linuxprobe ~]# cd $WORKDIR
[root@linuxprobe workdir]# pwd
/home/workdir
但是這樣的變數不具有全局性,作用范圍也是有限的,默認不能夠被其他用戶使用的,如果工作需要的話咱們可以使用export命令將其提升為全局變數,這樣其他的用戶也就可以使用到這個變數了,這里涉及的一些基礎命令可以參閱《Linux就該這么學》
[root@linuxprobe workdir]# su linuxprobe
Last login: Fri Mar 20 20:52:10 CST 2017 on pts/0
[linuxprobe@linuxprobe ~]$ cd $WORKDIR
[linuxprobe@linuxprobe ~]$ echo $WORKDIR
[linuxprobe@linuxprobe ~]$ exit
[root@linuxprobe ~]#exportWORKDIR
[root@linuxprobe workdir]# su linuxprobe
Last login: Fri Mar 20 21:52:10 CST 2017 on pts/0
[linuxprobe@linuxprobe ~]$ cd $WORKDIR
[linuxprobe@linuxprobe workdir]$pwd
/home/workdir