|
|
* y2 C" o/ ~/ L6 H; V) s<h2>一、变量名的规范</h2>( v# u' j" }' F1 @& K# x: s
<p><span style="color: rgba(255, 0, 0, 1); font-size: 14px"><strong>定义形如:class_name='xiaohemiao'</strong></span></p>
8 X! a# a; S$ ?; T4 U( t7 i4 r4 L5 W<p><span style="color: rgba(255, 0, 0, 1); font-size: 14px"><strong>使用形如:echo $class_name</strong></span></p>; B* G/ A# j9 z) V
<div class="cnblogs_code">
# i% c$ X1 f4 g+ i* [<pre><span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">、变量名后面的等号左右不能有空格
' h3 Z6 y: ?; T& n</span><span style="color: rgba(128, 0, 128, 1)">2</span><span style="color: rgba(0, 0, 0, 1)">、命名只能使用英文字母,数字和下划线,首个字符不能以数字开头/ l# P3 v2 h- E, C9 W2 T' M
</span><span style="color: rgba(128, 0, 128, 1)">3</span><span style="color: rgba(0, 0, 0, 1)">、中间不能有空格,可以使用下划线
& A1 k5 z; l4 L& M7 h# ]- x</span><span style="color: rgba(128, 0, 128, 1)">4</span><span style="color: rgba(0, 0, 0, 1)">、不能使用标点符号
; M |: `5 P* q. g5 ?% m</span><span style="color: rgba(128, 0, 128, 1)">5</span>、不能使用bash里的关键字(可用help命令查看保留关键字)</pre>& N! X& j3 L M3 q5 k, T
</div>
/ k( s5 M) x- G4 i z) @<h2>二、变量基本使用 </h2>- O( {2 Y0 d6 W) K7 T, x6 k
<p>案例一:使用变量编写第一个入门shell脚本</p>! ?8 S% g: x4 t6 }) i7 ?
<p>步骤1:创建test3.sh文件</p>2 C& S& W& Z! L/ K6 ?
<p>步骤2:vi test3.sh命令编写脚本</p>
1 W9 F4 Q& L2 r8 I* _<p>步骤3:给test3.sh添加可执行权限</p>
8 L7 K6 d: [: E( A4 u) [<p>步骤4:执行 test3.sh文件</p>/ M% ]! H7 c: b1 x5 l6 _7 r9 u& t5 U
<p><img src="https://img2022.cnblogs.com/blog/520237/202202/520237-20220210215213022-1011470400.png" ></p>% a2 X' n* C: b4 H" D0 i
<p> <img src="https://img2022.cnblogs.com/blog/520237/202202/520237-20220210215258956-2099978779.png" ></p>
3 f0 ^% o0 k) o) h9 _<p> 案例二:定义一个变量,输出当前时间,要求格式为‘年-月-日 时:分:秒’</p># j! @; t% ^3 X+ u2 Q
<p><img src="https://img2022.cnblogs.com/blog/520237/202202/520237-20220210221934042-1998945743.png" ></p> M% ?" R( N( c' ?3 g1 y
<p><strong><span style="color: rgba(255, 0, 0, 1)"> 注意:反引号(esc键下方的那个键),当在脚本中需要执行一些指令并且将执行的结果赋给变量的时候需要使用“反引号”</span></strong></p>2 R2 S4 R: f4 i0 }
<h2><span style="color: rgba(0, 0, 0, 1)"><strong>三、只读变量</strong></span></h2>! H" Y" d8 Q p- I6 M1 q
<p><span style="color: rgba(255, 0, 0, 1)"><strong>语法:readonly 变量名</strong></span></p>
2 K9 n$ ], s. x1 ]( d" C7 Q<p><span style="color: rgba(0, 0, 0, 1)">案例一:定义一个只读变量a等于10,再将变量a赋值为20</span></p>
! k, w9 k" l0 K, K/ X* q& `7 i' `<p><span style="color: rgba(0, 0, 0, 1)"><img src="https://img2022.cnblogs.com/blog/520237/202202/520237-20220210223644176-1412903373.png" ></span></p>1 u% Q& B: i4 ?9 m
<p> <img src="https://img2022.cnblogs.com/blog/520237/202202/520237-20220210223737904-145978411.png" ></p>
) o+ a7 \! S1 G% u) I<h2> 四、接收用户输入</h2>
9 j5 }" q# w! J4 J u<p><span style="color: rgba(255, 0, 0, 1)"><strong>语法:read -p 提示信息 变量名</strong></span></p>
! b$ r) A; b6 |, q) S# ]<p>案例一:编写一个test6.sh脚本,执行之后要求用户输入文件的名称(路径),然后自动为用户创建文件</p>2 t6 D* p2 }# ?" M# v
<p><img src="https://img2022.cnblogs.com/blog/520237/202202/520237-20220212104227141-352726613.png" ></p>: {9 w. N5 g* M9 t( p
<p><img src="https://img2022.cnblogs.com/blog/520237/202202/520237-20220212104146370-451310400.png" ></p>2 Z, Q, @) I' {) ?5 b" e3 s% R
<p> </p>9 u8 s( q# v$ y' a: @% X
<h2> 五、删除变量</h2>" I2 @+ X9 |+ R+ h
<p><strong><span style="color: rgba(255, 0, 0, 1)"> 语法:unset 变量名</span></strong></p>" C8 _3 _% z# k) L+ V0 _
<p>案例:定义变量aa=20,再输出aa的值,随后删除aa,最后再输出aa</p>2 O' _& |/ H# h$ ~5 ~+ W" X9 I! E
<p><img src="https://img2022.cnblogs.com/blog/520237/202202/520237-20220212110532064-1181454171.png" ></p># o% {/ }0 i; e2 c. y0 ~/ g
<p> <img src="https://img2022.cnblogs.com/blog/520237/202202/520237-20220212110637438-1742459294.png" ></p>" L7 Q6 P7 x2 f5 Z
<p> </p>
( {) x, S7 s) d7 b3 f3 k |
|