Saturday, July 11, 2015


1. Variable Names
Tên của biến có thể bao gồm các ký tự chữ ( a to z or A to Z), số ( 0 to 9) hoặc ký tự gạch dưới ( _ ).
Không được dùng các ký tự đặc biệt như  !,*, hoặc - , bởi vì chúng có ý nghĩa đặc biệt trong shell

Ex: biến hợp lệ
 _ALI  
 TOKEN_A  
 VAR_1  
 VAR_2 
 var_3 

Ex: biến không hợp lệ
 2_VAR  
 -VARIABLE  
 VAR1-VAR2  
 VAR_A!  

2. Defining Variables
Biến được định nghĩa / khai báo như sau:
 variable_name=variable_value  

Ex:
 name=Obama  
 full_name="Barack Obama"  #dung với dấu nháy kép nếu là chuỗi ký tự
 age=54   

3. Accessing Values
Để truy cập giá trị được lưu trữ trong biến, dùng tiền tố dollar ( $ ) trước biến.

 #!/bin/sh  
   
 NAME="Zara Ali"  
 echo $NAME  

 $./test.sh  
 Zara Ali  


4. Read-only Variables
Read-only chỉ cho phép biến được gán giá trị một lần duy nhất:
 #!/bin/sh  
   
 NAME="Zara Ali"  
 readonly NAME  
 NAME="Qadiri"  

 $./test.sh  
 /bin/sh: NAME: This variable is read only.  

5. Unsetting Variables
Unsetting hoặc deleting một biến có nghĩa là xóa biến đó khỏi danh sách các biến được theo dõi của shell, không thể truy cập giá trị của biến được nữa.
Cú pháp:
 unset variable_name  

Ex:
 #!/bin/sh  
   
 NAME="Zara Ali"  
 unset NAME  
 echo $NAME  

6. Variable Types
Shell cũng có các loại biến khác nhau được liệt kê dưới đây:
+ Local Variables
Là biến chỉ hoạt động trong nhữ cảnh hiện tại trong shell (shell pronpt), nó không thể được truy cập từ những chương trình khác được bắt đầu bởi shell.

test.sh
 #!/bin/sh   
 echo $NAME  

 $NAME=obama  
 $echo $NAME  
 obama  
 $./test.sh     #test.sh là một chương trình khác được start bởi shell hiện tại và nó không thể truy cập được giá trị của biến NAME
   

+ Environment Variables
Biến môi trường cho phép tất cả các chương trình được truy cập giá trị của nó. Biến môi trường có thể là mặc định của shell hoặc do người dùng tự định nghĩa.


Lệnh env show ra các biến môi trường của shell và các application đã installed:
 $ env  
 XDG_VTNR=1  
 MATE_DESKTOP_SESSION_ID=this-is-deprecated  
 SSH_AGENT_PID=1426  
 XDG_SESSION_ID=1  
 HOSTNAME=localhost.localdomain  
 XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/ninhld  
 IMSETTINGS_INTEGRATE_DESKTOP=yes  
 GPG_AGENT_INFO=/home/ninhld/.cache/keyring-rp2hZY/gpg:0:1  
 TERM=xterm-256color  
 SHELL=/bin/bash  
 ...  

Lệnh export để định nghĩa biến môi trường:
 $export NAME=obama   
 $./test.sh  
 obama  

+ Shell Variables
Shell variables là biến đặc biệt được định nghĩa bởi shell, một số trong chúng là environment variables và một số là local variables. Shell variables được chỉ rõ trong bài viết tiếp theo Shell - Special Variables



Leave a Reply

Subscribe to Posts | Subscribe to Comments

- Copyright © Lập trình hệ thống nhúng Linux . Powered by Luong Duy Ninh -