日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux 特殊shell变量

發(fā)布時間:2023/12/18 linux 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux 特殊shell变量 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

特殊變量

環(huán)境變量:

  系統(tǒng)本身運行需要由linux系統(tǒng)提前創(chuàng)建好的一類變量

  主要用于用戶的工作環(huán)境,包括(用戶的宿主目錄,命令的查找路徑,用戶的當(dāng)前目錄,登錄的終端等)環(huán)境變量的值由操作系統(tǒng)本身維護,隨著用戶的狀態(tài)改變而改變

使用env調(diào)取當(dāng)前系統(tǒng)的環(huán)境變量

[root@zq ~]# env XDG_VTNR=1 XDG_SESSION_ID=1 SSH_AGENT_PID=1925 HOSTNAME=zq 主機名 IMSETTINGS_INTEGRATE_DESKTOP=yes GPG_AGENT_INFO=/run/user/1000/keyring/gpg:0:1 VTE_VERSION=3803 XDG_MENU_PREFIX=gnome- SHELL=/bin/bash TERM=xterm-256color HISTSIZE=1000 WINDOWID=37748743 IMSETTINGS_MODULE=IBus USER=zq 當(dāng)前用戶

環(huán)境變量的配置文件在/etc/profile(全局)

用戶宿主目錄/home/zq/.bash profile(局部)

?

$PATH

定義命令默認(rèn)的搜索路徑

[root@zq ~]# echo $PATH /usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/zq/.local/bin:/home/zq/bin

注意: 只有自己執(zhí)行的命令在PATH變量包括的目錄下,才可以直接使用并用tab補齊,如果不在PATH所包括的路徑下, ? ? ? ? ? 只能通過絕對路徑或相對路徑使用

[root@zq ~]# echo $user[root@zq ~]# echo $USER 查看當(dāng)前用戶 zq [root@zq ~]# echo $SHELL 當(dāng)前腳本 /bin/bash [root@zq ~]# echo $HOME /root
當(dāng)前語言 $LANG

eg: 將我們所寫的腳本放到$PATH的默認(rèn)搜索路徑中去

[root@zq ~]# first.sh 不能直接運行這個腳本 bash: first.sh: 未找到命令... [root@zq ~]# echo $PATH 因為PATH中沒有這個命令 /usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/zq/.local/bin:/home/zq/bin [root@zq ~]# PATH="$PATH:/root" 將這個路徑加到PATH中去 [root@zq ~]# echo $PATH PATH中顯示有了這個腳本的路徑 /usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/zq/.local/bin:/home/zq/bin:/root [root@zq ~]# first.sh 可以直接運行這個腳本了 之前需要通過./執(zhí)行的 mkdir: 無法創(chuàng)建目錄"/root/shell": 文件已存在 eno16777736: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500inet 192.168.1.63 netmask 255.255.255.0 broadcast 192.168.1.255inet6 fe80::20c:29ff:fedf:de30 prefixlen 64 scopeid 0x20<link>

這個只能當(dāng)前有效,想要永久生效的話必須在/etc/profile最后邊加上剛剛設(shè)置的變量,保存退出,source生效之后,就可以永久直接執(zhí)行了。

vim /etc/profile ?最后追加 所有用戶有效 ?重啟或 source方可使用

或只是root用戶生效的話 vim /root/.bash_profile 在這個文件的最后追加

?

每個用戶還有自己的環(huán)境變量都在自己的宿主目錄中

?

?

位置變量

  為了使用shell腳本程序:方便通過命令行為程序提供參數(shù)Bash引用了位置變量的概念

  當(dāng)執(zhí)行命令行操作時第一個字段表示命令字或程序名,其余的字符串參數(shù)按照從左到右的順序一次給位置變量賦值

位置變量也叫位置參數(shù),使用$1,$2,$3.....$表示

eg: 編寫一個加法運算的腳本來說明位置變量

vim zq.sh

#!/bin/bash SUM=$(expr $1 + $2) echo "$1 + $2 = $SUM"

測試結(jié)果

[root@zq ~]# vim zq.sh [root@zq ~]# ./zq.sh bash: ./zq.sh: 權(quán)限不夠 [root@zq ~]# chmod u+x zq.sh [root@zq ~]# ./zq.sh expr: 語法錯誤+ = [root@zq ~]# ./zq.sh 1 2 給變量賦值才可以 1 + 2 = 3

?

預(yù)定義變量

$#:命令行中位置變量的個數(shù)(程序執(zhí)行了幾個位置參數(shù))

$*:所有位置變量的內(nèi)容(具體的內(nèi)容 比如/boot就是個具體內(nèi)容)

$?:上一條命令執(zhí)行后返回的狀態(tài),當(dāng)返回狀態(tài)值為0時表示執(zhí)行正常,非0值表示執(zhí)行異常或出錯取值在1-127之間

$0:當(dāng)前執(zhí)行的進程/程序名(就是當(dāng)前執(zhí)行的命令或程序的名字)

!$:表示上一個命令的最后一個參數(shù)

轉(zhuǎn)載于:https://www.cnblogs.com/zq6041/p/6828533.html

總結(jié)

以上是生活随笔為你收集整理的linux 特殊shell变量的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。