自定義變數
特殊變數
[root@note01 ~]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/bin/dash
對於bash 與sh 的關係
[root@note01 bin]# ll | grep bash
-rwxr-xr-x. 1 root root 904872 oct 16 2014 bash
lrwxrwxrwx. 1 root root 4 oct 29 2018 sh -> bash
centos預設的解析器是bash
[root@note01 bin]# echo $shell
/bin/bash
指令碼的開頭以#!/bin/bash開頭,對於一些指令碼使用sh或者bash + 指令碼的絕對路徑,使用這種方式不用賦予指令碼+x的許可權
直接採用指令碼的絕對路徑方式需要對指令碼賦予+x的許可權
常用系統變數
$home
[root@note01 bin]# echo $home
/root
$pwd
[root@note01 bin]# echo $pwd
/bin
$shell
[root@note01 bin]# echo $shell
/bin/bash
$user
[root@note01 bin]# echo $user
root
顯示shell中所有的變數
[root@note01 bin]# set
1.基本語法
(1)定義變數:變數=值
(2)撤銷變數:unset 變數
(3)宣告靜態變數:readonly變數,注意:不能unset
2.變數定義規則
(1)變數名稱可以由字母、數字和下劃線組成,但是不能以數字開頭,環境變數名建議大寫。
(2)等號兩側不能有空格
(3)在bash中,變數預設型別都是字串型別,無法直接進行數值運算。
(4)變數的值如果有空格,需要使用雙引號或單引號括起來。
$n $n (功能描述:n為數字,$0代表該指令碼名稱,$1-9代表
第一到第
九個引數
,十以上
的引數,
十以上的
引數需要
用大括號
包含,如
9代表第一到第九個引數,十以上的引數,十以上的引數需要用大括號包含,如
9代表第一到
第九個參
數,十以
上的引數
,十以上
的引數需
要用大括
號包含,
如)$# $# (功能描述:獲取所有輸入引數個數,常用於迴圈)。
∗ 、*、
∗、@ ∗(功
能描述:
這個變數
代表命令
行中所有
的引數,
* (功能描述:這個變數代表命令列中所有的引數,
∗(功能描述
:這個變
量代表命
令行中所
有的引數
,*把所有的引數看成乙個整體)
@ (功
能描述:
這個變數
也代表命
令行中所
有的引數
,不
過@ (功能描述:這個變數也代表命令列中所有的引數,不過
@(功能描述
:這個變
量也代表
命令列中
所有的參
數,不過
@把每個引數區分對待)
$?
shell變數以及如何使用變數
shell變數 變數 記憶體空間 增加指令碼的靈活性,適用性 型別 自定義變數 環境變數 path 特殊變數 自定義變數 1 宣告變數 變數名稱 變數值 變數名稱規範 只能由數字 字母 下劃線組成 不能以數字開頭 root shell name tom 2 呼叫變數的值 變數名稱 變數名稱後緊跟數字...
shell變數賦值以及使用
1 變數賦值 定義變數時,變數名不加美元符號,如 name str lili 特別注意 變數名和等號之間不能有空格 其他注意事項與其他語言相通 2 使用變數 使用乙個定義過的變數,只有在變數名前面加美元符號 即可 name str lili echo name str echo 注 變數名外面的花括...
shell 變數做命令執行
user ubuntu cmd ls echo 1 a.txt 1user ubuntu cmd bin ls echo 1 user ubuntu cmd ls cannot access no such file or directory ls cannot access echo no suc...