博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
shell script 環境變數概念
阅读量:4284 次
发布时间:2019-05-27

本文共 1530 字,大约阅读时间需要 5 分钟。

子程序僅會繼承父程序的環境變數, 子程序不會繼承父程序的自訂變數!

如你想要讓該變數內容繼續的在子程序中使用  
export 變數名稱


===================================================================================


declare 或 typeset 是一樣的功能,就是在『宣告變數的類型』


[root@www ~]# declare [-aixr] variable

選項與參數:

-a  :將後面名為 variable 的變數定義成為陣列 (array) 類型

-i  :將後面名為 variable 的變數定義成為整數數字 (integer) 類型

-x  :用法與 export 一樣,就是將後面的 variable 變成環境變數;

-r  :將變數設定成為 readonly 類型,該變數不可被更改內容,也不能 unset


===============================================================================================


利用 
source 來執行腳本:在父程序中執行
如果你使用 source 來執行指令那就不一樣了!同樣的腳本我們來執行看看:


[root@www scripts]# source sh02.sh

Please input your first name: VBird

Please input your last name:  Tsai


Your full name is: VBird Tsai

[root@www scripts]# echo $firstname $lastname

VBird Tsai  <==嘿嘿!有資料產生喔!

竟然生效了!沒錯啊!因為 source 對 script 的執行方式可以使用底下的圖示來說明! sh02.sh 會在父程序中執行的,因此各項動作都會在原本的 bash 內生效!

這也是為啥你不登出系統而要讓某些寫入 ~/.bashrc 的設定生效時,需要使用『 source ~/.bashrc 』而不能使用『 bash ~/.bashrc 』是一樣的啊!


 
 
 
================================================================
 
$# :代表後接的參數『個數』,以上表為例這裡顯示為『 4 』;
$@ :代表『 "$1" "$2" "$3" "$4" 』之意,每個變數是獨立的(用雙引號括起來);
$* :代表『 "$1c$2c$3c$4" 』,其中 c 為分隔字元,預設為空白鍵, 所以本例中代表『 "$1 $2 $3 $4" 』之意
 
========================================================
 
算數運算
m=4+5
echo $m的結果顯示4+5,視為字串
所以,在Bash shell中使用算數運算,要一下面四種方法進行:

expr(外部指令)
m=`expr 4 + 5`
m=`expr 4 \* 5`
m=`expr $m + 1`
不能運算乘冪羽求餘數(%)
$(())
m=$(( 4 ** 5 ))==>4的5次方
m=$(( $m + 1 ))
m=$(( 5 % 4 ))
$[]
m=$[ 4 \* 5 ]
m=$[ 4 ** 5 ]
m=$[ m + 1 ]
let(內建指令)
 let m=m+1(注意與上面的不同處,無空白與$與跳脫)
 let m=4+5
let m=4**5

转载地址:http://ttsgi.baihongyu.com/

你可能感兴趣的文章
matlab:把cell中的某个元素删去
查看>>
matlab 集合运算 交集 并集 差集
查看>>
C++ 给vector去重的三种方法
查看>>
map的详细用法
查看>>
C++初始化函数列表
查看>>
STL各种排序
查看>>
#include<map>
查看>>
z字形扫描
查看>>
相邻数对
查看>>
C++ string 字符串匹配
查看>>
C语言字符串函数大全
查看>>
轮盘赌选择,原理及C++实现
查看>>
C/C++中各种类型int、long、double、char表示范围(最大最小值)
查看>>
《Python爬虫学习系列教程》学习笔记
查看>>
MIC编程(4)——MIC灵活高效的编程方式
查看>>
Apriori算法
查看>>
Python itertools模块详解
查看>>
Apriori算法简介及实现(python)
查看>>
Python中的集合:set与frozenset用法举例
查看>>
python strip()函数 介绍
查看>>