Linux运维之shell变量.md

Jun 24, 2020 am 09:30 AM
operasi dan penyelenggaraan linux shell

我们知道shell里面有许多变量,比如我们经常会用到的PATH变量,它的作用就是,它的作用是设置可执行文件的目录,这样输入命令的时候就不用使用绝对路径了。除此之外,shell还有许多其他的变量。今天,来和大家讨论下shell变量。

分类

我们知道,php里面有局部变量和全局变量的区分,shell里面和php非常类型,有环境变量、普通变量。环境变量一般用于定义shell的运行环境,而普通变量则经常用于编写shell脚本中。

环境变量和普通变量的区别是和php的变量非常类似:区别都是使用范围的不同,shell的环境变量可以在当前shell以及衍生的shell的使用,而普通变量只能在当前shell使用。环境变量通常使用大写,普通变量通常使用小写。

环境变量

查看当前所有的环境变量,使用env(environment)命令即可

# env
XDG_SESSION_ID=38135
HOSTNAME=iz8vb626ci0aehwsivxaydz
TERM=xterm
SHELL=/bin/bash
HISTSIZE=1000
SSH_CLIENT=114.106.186.229 31955 22
QTDIR=/usr/lib64/qt-3.3
……
Salin selepas log masuk

另外还可以用set命令来查看,但是该命令会列出所有环境变量以及普通变量。一般的,环境变量都使用大写的字母来表示。

设置及取消环境变量

用户自定义设置环境变量的方式如下

export 变量名=变量值
Salin selepas log masuk

如想取消环境变量,则可以使用unset命令来完成

unset 变量名
Salin selepas log masuk

下面来演示一下:

# export HOBBY=basketball
# env | grep HOBBY
HOBBY=basketball

# unset HOBBY
# env | grep HOBBY
Salin selepas log masuk

变量的打印与设置

linux下有一个echo命令,使用方法和php是一样的,都是用来打印一段文本。

# echo hello,world
hello,world

# echo -e "$PWD\n$PATH"
/root
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
Salin selepas log masuk

变量的设置规则,

变量名=变量内容
Salin selepas log masuk
  • 注意"="两边都不能有空格

  • 变量名称只能是字母和数字,另外首个字符不能是数字

  • 变量内容若有空格,需要使用引号(单引号、双引号)将变量内容阔起来,如name="lebron james"。双引号里可以解析变量。

  • 若有特殊字符,可以使用\来转义,如enter、'、”等特殊字符

  • 如想使用命令结果作为变量内容,可以使用$(命令)或命令;

  • 若想扩展变量内容,可以使用"{$变量}累加内容"

array

和php一样,shell变量也有数组类型。数组的定义语法如下:

变量名=(val1 val2 ... valn);
arr=(paul james durant)
Salin selepas log masuk

打印数组元素语法如下

echo ${arr[元素下标]}
# echo ${arr[0]}
paul
# echo ${arr[1]}
james
Salin selepas log masuk

打印数组所有的元素

echo ${arr[@]}
Salin selepas log masuk

打印数组的长度

echo ${#arr[@]}
Salin selepas log masuk

打印数组元素的长度

echo ${#arr[数组下标]}
Salin selepas log masuk

打印数组的部分元素 ${lnmp[@]:n1:n2} n1表示开始,n2表示长度

# 打印所有元素
# echo ${lnmp[@]}
linux nginx mysql php
# echo ${lnmp[@]:0}
linux nginx mysql php
 
# 打印从第二个元素开始的所有值
# echo ${lnmp[@]:1}
nginx mysql php
 
# 打印第一个值和第二个值
# echo ${lnmp[@]:0:2}
linux nginx
 
# 打印第二个值和第三个值
# echo ${lnmp[@]:1:2}
nginx mysql
Salin selepas log masuk

数组的赋值、替换、删除

#追加元素
# lnmp[${#lnmp[@]}]=apache
# echo ${lnmp[@]}
linux nginx mysql php apache
 
# 修改元素
# lnmp[0]=l
# echo ${lnmp[@]}
linux nginx mysql php
 
# 删除元素
unset lnmp[0]
unset lnmp[1]
unset lnmp
Salin selepas log masuk

Atas ialah kandungan terperinci Linux运维之shell变量.md. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk memasang Classic Shell pada Windows 11? Bagaimana untuk memasang Classic Shell pada Windows 11? Apr 21, 2023 pm 09:13 PM

<p>Menyesuaikan sistem pengendalian anda ialah cara terbaik untuk menjadikan kehidupan harian anda lebih menyeronokkan. Anda boleh menukar antara muka pengguna, menggunakan tema tersuai, menambah widget dan banyak lagi. Jadi hari ini kami akan menunjukkan kepada anda cara memasang ClassicShell pada Windows 11. </p><p>Program ini telah wujud sejak sekian lama dan membolehkan anda mengubah suai sistem pengendalian. Sukarelawan kini telah mula menjalankan organisasi itu, yang dibubarkan pada 2017. Projek baharu ini dipanggil OpenShell dan kini tersedia di Github untuk mereka yang berminat. </p>&a

Explorer.exe tidak bermula pada permulaan sistem [Betulkan] Explorer.exe tidak bermula pada permulaan sistem [Betulkan] Jun 03, 2023 am 08:31 AM

Pada masa kini, ramai pengguna Windows mula menghadapi masalah sistem Windows yang serius. Masalahnya ialah Explorer.exe tidak boleh bermula selepas sistem dimuatkan dan pengguna tidak boleh membuka fail atau folder. Walaupun, pengguna Windows boleh membuka Windows Explorer secara manual menggunakan Command Prompt dalam beberapa kes dan ini mesti dilakukan setiap kali sistem dimulakan semula atau selepas permulaan sistem. Ini boleh menjadi masalah dan disebabkan oleh faktor-faktor berikut yang dinyatakan di bawah. Fail sistem rosak. Dayakan tetapan permulaan pantas. Pemacu paparan lapuk atau bermasalah. Perubahan telah dibuat pada beberapa perkhidmatan dalam sistem. Fail pendaftaran yang diubah suai. Dengan mengingati semua faktor di atas, kami telah menghasilkan beberapa yang pasti akan membantu pengguna

Arahan PowerShell gagal dengan isu HRESULT 0x80073D02 dibetulkan Arahan PowerShell gagal dengan isu HRESULT 0x80073D02 dibetulkan May 10, 2023 am 11:02 AM

Adakah anda melihat mesej ralat ini "Add-AppxPackage: Deployment failed with HRESULT: 0x80073D02, Pakej tidak boleh dipasang kerana sumber yang diubah suai sedang digunakan. Ralat 0x80073D02..." dalam PowerShell apabila anda menjalankan skrip? Seperti yang dinyatakan oleh mesej ralat, ini berlaku apabila pengguna cuba mendaftar semula satu atau semua aplikasi WindowsShellExperienceHost semasa proses sebelumnya sedang berjalan. Kami mempunyai beberapa penyelesaian mudah untuk menyelesaikan masalah ini dengan cepat. Betulkan 1 – Tamatkan proses hos pengalaman yang anda mesti tamatkan sebelum melaksanakan perintah powershell

Bagaimana untuk memadamkan baris dengan cepat pada penghujung fail dalam Linux Bagaimana untuk memadamkan baris dengan cepat pada penghujung fail dalam Linux Mar 01, 2024 pm 09:36 PM

Apabila memproses fail di bawah sistem Linux, kadangkala perlu memadamkan baris pada penghujung fail. Operasi ini sangat biasa dalam aplikasi praktikal dan boleh dicapai melalui beberapa arahan mudah. Artikel ini akan memperkenalkan langkah-langkah untuk memadamkan baris dengan cepat pada penghujung fail dalam sistem Linux dan memberikan contoh kod khusus. Langkah 1: Semak baris terakhir fail Sebelum melakukan operasi pemadaman, anda perlu mengesahkan baris mana yang merupakan baris terakhir fail. Anda boleh menggunakan arahan tail untuk melihat baris terakhir fail Arahan khusus adalah seperti berikut: tail-n1filena

Cara yang berbeza untuk menjalankan fail skrip shell pada Windows Cara yang berbeza untuk menjalankan fail skrip shell pada Windows Apr 13, 2023 am 11:58 AM

Windows Subsystem untuk Linux Pilihan pertama ialah menggunakan Windows Subsystem untuk Linux atau WSL, yang merupakan lapisan keserasian untuk menjalankan boleh laku binari Linux secara asli pada sistem Windows. Ia berfungsi untuk kebanyakan senario dan membolehkan anda menjalankan skrip shell dalam Windows 11/10. WSL tidak tersedia secara automatik, jadi anda mesti mendayakannya melalui tetapan pembangun peranti Windows anda. Anda boleh melakukan ini dengan pergi ke Tetapan > Kemas Kini & Keselamatan > Untuk Pembangun. Tukar ke mod pembangun dan sahkan gesaan dengan memilih Ya. Seterusnya, cari W

Super tegar! 11 contoh skrip Python dan Shell yang sangat praktikal! Super tegar! 11 contoh skrip Python dan Shell yang sangat praktikal! Apr 12, 2023 pm 01:52 PM

Beberapa contoh skrip Python: penggera WeChat perusahaan, pelanggan FTP, pelanggan SSH, pelanggan Saltstack, pelanggan vCenter, mendapatkan masa tamat sijil SSL nama domain, menghantar ramalan cuaca hari ini dan carta arah aliran cuaca masa hadapan: Sandaran penuh SVN; Zabbix memantau tamat tempoh kata laluan pengguna, membina YUM tempatan, dan keperluan pembaca disebut dalam artikel sebelumnya (apabila beban tinggi, cari skrip proses yang menduduki penghunian yang agak tinggi dan simpan atau pemberitahuan tolak, jadi harap bersabar Di akhir artikel, terdapat telur Paskah selepas semua. Skrip Python sebahagian daripada penggera WeChat perusahaan Skrip ini menggunakan aplikasi WeChat perusahaan untuk melaksanakan penggera WeChat dan boleh digunakan

Berikut ialah pembetulan untuk Open Shell Windows 11 isu tidak berfungsi Berikut ialah pembetulan untuk Open Shell Windows 11 isu tidak berfungsi Apr 14, 2023 pm 02:07 PM

Cangkang terbuka tidak berjalan pada Windows 11 bukanlah masalah baharu dan telah membelenggu pengguna sejak kemunculan sistem pengendalian baharu ini. Punca isu Open-Shell Windows 11 tidak berfungsi adalah tidak khusus. Ia boleh disebabkan oleh ralat yang tidak dijangka dalam program, kehadiran virus atau perisian hasad, atau fail sistem yang rosak. Bagi mereka yang tidak tahu, Open-Shell ialah pengganti Classic Shell, yang telah dihentikan pada tahun 2017. Anda boleh menyemak tutorial kami tentang cara memasang Classic Shell pada Windows 11. Bagaimana untuk menggantikan menu Mula Windows 11

Cara memasang Open Shell untuk memulihkan menu Mula klasik pada Windows 11 Cara memasang Open Shell untuk memulihkan menu Mula klasik pada Windows 11 Apr 18, 2023 pm 10:10 PM

OpenShell ialah utiliti perisian percuma yang boleh digunakan untuk menyesuaikan menu Mula Windows 11 agar menyerupai menu gaya klasik atau menu gaya Windows 7. Menu Mula pada versi Windows terdahulu menyediakan pengguna dengan cara mudah untuk menyemak imbas kandungan sistem mereka. Pada asasnya, OpenShell ialah pengganti ClassicShell yang menyediakan elemen antara muka pengguna berbeza yang membantu mendapatkan kefungsian versi terakhir daripada versi Windows sebelumnya. Sebaik sahaja pembangunan ClassicShell dihentikan pada 2017, ia dikekalkan dan dibangunkan oleh sukarelawan GitHub di bawah nama OpenShell. Ia berkaitan dengan Win

See all articles