shell指令碼中的變數

2021-10-22 23:52:23 字數 1210 閱讀 1967

後記面試中很重要

在系統中,當我們執行/bin/ls時與ls命令結果並不相同,因為ls是已經經過加工過的命令。

alias xie=『vim』 (臨時設定,開啟了新的shell就會失效)

vim ~/.bashrc(只對當前使用者生效)

alias xie=『vim』

source .bashrc

vim /etc/bashrc (針對系統所有使用者生效)

alias xie=『vim』

source /etc/bashrc

unalias xie (刪除當前環境中的alias)

指令碼檢測:

create_user.sh userfile passfile(格式)

userfile:使用者會被全部建立

passfile:密碼會被全部設定

答案:create_user.sh

#!/bin/bash

for i in `seq 1 3`

dosed -n $p $1 > /etc/profile.d/user

source /etc/profile.d/user

useradd $a

sed -n $p $2 > /etc/profile.d/passwd

source /etc/profile.d/passwd

echo $p | passwd --stdin $a

done

userfile

[root@rhel7_node1 mnt]# cat userfile

a=user1

a=user2

a=user3

passfile

[root@rhel7_node1 mnt]# cat passfile

p=user111

p=user222

p=user333

環境變數:

使用者在操作自己的系統時使用到的搜尋路徑的命令

設定方式:

使用者級:

vim ~/.bash_profile

export path=$path:/mnt

系統級:

vim /etc/bash_profile

export path=$path:/mnt

shell指令碼中的變數

1 在命令列中和指令碼中,變數定義得格式 name value 左右兩邊不能有空格,否則會當做命令來對待,輸出乙個command not found echo name echo 列印出變數,引用變數使用 name.2 單引號和雙引號 語法 和php中相同 雙引號仍然可以保有變數的內容,但單引號內僅...

shell指令碼中的變數

變數就是記憶體一片區域的位址 命令無法操作一直變化的目標 用一串固定的字元來表示不固定的目標可以解決此問題 export宣告 env顯示所有環境變數 echo path export a 1 在環境關閉後變數失效 字元 數字 轉譯單個字元 弱引用,批量轉譯個數字元 不能轉譯 強引用 表示當前程序的i...

shell指令碼中的變數

定義本身 變數就是記憶體一片區域的位址 變數存在的意義 命令無法操作一直變化的目標 用一串固定的字元來表示不固定的目標可以解決此問題 環境級別 使用者級別 系統級別 變數名稱 轉譯 轉譯單個字元 雙引號 弱引用,批量轉譯個數字元,不能轉譯 單引號 強引用宣告 變數的陣列 create user.sh...