- Back to Home »
- Shell »
- Shell - Using Variables
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
_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