Rumah php教程 PHP开发 Shell里面括号的用法

Shell里面括号的用法

Nov 23, 2016 pm 05:41 PM
shell

中括号

中括号分为单中括号[],和双中括号[[]],中括号一般用于表达式判断中,小括号也可以用于表达式,这个后面提到。

单中括号[]

A=5
B=3
[ $A -eq $B ]    判断A是否等于B
[ ${A} -eq ${B} ]  作用同上
[ "${A}" -eq "${B}" ]  作用同上
Salin selepas log masuk

A=ABC
[ $A == "ABC" ]   或写成  [ ${A} == "ABC" ]   或写成  [ "${A}" == "ABC" ]
[ $A \> "ABC" ]
Salin selepas log masuk

[ -d ./aaa.sh -a -e ./bbb ]  测试aaa.sh是否为目录并且bbb是否存在,如果都符合则返回真
[ -d ./aaa.sh -o -e ./bbb ]  测试aaa.sh是否为目录并且bbb是否存在,满足一个条件则返回真
Salin selepas log masuk

我们通过上面可以看出使用单中括号的一些规则:

变量与中括号之间要有空格

变量与操作符之间也要有空格

变量可以直接用$进行引用,也可以使用${}以及"${}"进行引用,虽然可以直接使用${},但是建议还是用"${}",或者直接用$,来引用变量

字符串要用双引号引起来

字符串比较一般使用==来做字符串是否相同测试,使用<或者>进行大小比较,在单中括号中对字符进行大于和小于的比较要用转移\>和\<。比较原理就是对比ASCII进行对比。

另外在单中括号中还可以使用-a和-o这样的逻辑运算符


双中括号[[]]:

A=5
B=3
[[ $A -eq $B ]]    判断A是否等于B
[[ ${A} -eq ${B} ]]  作用同上
[[ "${A}" -eq "${B}" ]]  作用同上
Salin selepas log masuk

A=ABC
[[ $A == "ABC" ]]   或写成  [[ ${A} == "ABC" ]]   或写成  [[ "${A}" == "ABC" ]] 或写成 [[ $A == ABC ]]
[[ $A > "ABC" ]]
Salin selepas log masuk

[[ -d ./aaa.sh && -e ./bbb ]]  测试aaa.sh是否为目录并且bbb是否存在,如果都符合则返回真
[[ -d ./aaa.sh || -e ./bbb ]]  测试aaa.sh是否为目录并且bbb是否存在,满足一个条件则返回真
Salin selepas log masuk

A=ABC
[[ $A =~ "A" ]]   做模式匹配,这个表达式为真
或写成  [[ ${A} =~ "A" ]]  或写成  [[ "$[A]" =~ "A" ]]
[[ $A = A* ]] 表达式为真  [[ $A = B* ]] 表达式为假
Salin selepas log masuk

双中括号的使用和单中括号的使用规则类似

双中括号中间字符串的大于小于比较不需要转义,且字符串可以不用双引号引用

双中括号里面可以使用&&、||做逻辑运算符

双中括号里面还可以做模糊匹配,使用=~表达式2可以是正则表达式

[ 表达式1 -a 表达式2 ] 等效于 [[ 表达式1 && 表达式2 ]] 等效于 [ 表达式1 ] && [ 表达式2 ] 等效于 [[ 表达式1 ]] && [[ 表达式2 ]]
Salin selepas log masuk

[ 表达式1 -o 表达式2 ] 等效于 [[ 表达式1 || 表达式2 ]] 等效于 [ 表达式1 ] || [ 表达式2 ] 等效于 [[ 表达式1 ]] || [[ 表达式2 ]]
Salin selepas log masuk


小括号

单小括号

单小括号单独使用是表示指令组,会通过子shell的方式依次执行括号中的命令

(ls ./;echo "hello";mkdir -p /tmp/ccc)
Salin selepas log masuk

最常见的用法这是命令替换中使用,命令替换也可以使用反引号``

echo "当前目录是:$(pwd)"
echo "当前目录是:`pwd`"
Salin selepas log masuk


双小括号

常用在算术运算上以及在for循环中也会用到

A=$((5+3))
B=$(($A+4))
Salin selepas log masuk


For语句的形式

1到10循环执行

写法1:
for I in (1..10);do
done
 
写法2:
for I in seq 1 10;do
done
 
写法3:
for (( i=1 ; i<=10 ; i++ )); do
done
Salin selepas log masuk


While语句的形式

1到10循环

I=1
while [ $I -le 10 ];do
  let I++
done
Salin selepas log masuk


   


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

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

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

&lt;p&gt;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. &lt;/p&gt;&lt;p&gt;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. &lt;/p&gt;&a

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

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

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

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

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