当前位置:网站首页>Introduction to shell programming
Introduction to shell programming
2022-07-07 10:50:00 【Taylor lance】
1、realpath Get file absolute path
[email protected]:~/crystalmedia/scripts$ realpath activeMq_docker.sh
/home/kylin/crystalmedia/scripts/activeMq_docker.sh
[email protected]:~/crystalmedia/scripts$
2、if sentence
if Mainly pay attention to the space ,if And [ then [] A space before and after
if [ ! -f "${filename}" ]
then
echo "File '${filename}' NOT exists!"
exit 1
fi
Or this way of writing
if [ ! -f "${filename}" ];then
echo "File '${filename}' NOT exists!"
exit 1
fi
remarks :
Basically the same as other scripting languages . There's no big difference . But here's the thing .[] The conditions inside .
1、 String judgment
str1 = str2 When two strings have the same content 、 Length is true
str1 != str2 Dangchuang str1 and str2 It's true when you don't wait
-n str1 When the length of the string is greater than 0 Time is true ( The string is not empty )
-z str1 When the length of the string is 0 Time is true ( Empty string )
str1 Dangchuang str1 If it's not empty, it's true
2、 The judgment of numbers
int1 -eq int2 It is true that two numbers are equal
int1 -ne int2 Two numbers are not equal to true
int1 -gt int2 int1 Greater than int2 It's true
int1 -ge int2 int1 Greater than or equal to int2 It's true
int1 -lt int2 int1 Less than int2 It's true
int1 -le int2 int1 Less than or equal to int2 It's true
3、 Judgment of documents
-r file User readable as true
-w file Users can write true
-x file User executable is true
-f file The file is normal and the file is true
-d file File is true directory is true
-c file File is character special file is true
-b file Files are blocks, special files are true
-s file The file size is not 0 Time is true
-t file When file descriptor ( The default is 1) True when the specified device is a terminal
4、 Complex logical judgment
-a And
-o or
! Not
3、pushd and popd
pushd and popd It is to operate on a directory stack , and dirs Is to display the contents of the directory stack . The directory stack is a stack structure that stores directories , The current directory is always stored at the top of the stack structure ( Here we can see further from below ).
dirs There are two commonly used parameters :
Options
meaning
-p
Each line shows a record
-v
Each line shows a record , At the same time, show the record in the stack index
-c
Empty the directory stack
There is only one directory in the directory stack ( Of course, at the top of the stack ), Is the current directory . After switching directories , The directory in the stack also changes . adopt -c Option can clear other directories in the directory stack except the current directory , Because the directory stack in the above example only contains the current directory , So there's no change .
Every time pushd After the command is executed , By default, a dirs Command to display the contents of the directory stack .pushd There are mainly the following usages :
pushd Catalog
pushd If you use it directly after the directory , Will switch to the directory and put the directory on the top of the directory stack .( Always remember , The current directory is always stored at the top of the directory stack . If the current directory changes , Then the top element of the directory stack must also change ; In turn, , If the element at the top of the stack changes , Then the current directory must have changed .) Here is an example :
[email protected]:~$ pushd crystalmedia/test/
~/crystalmedia/test ~
[email protected]:~/crystalmedia/test$ pushd /opt/
/opt ~/crystalmedia/test ~
[email protected]:/opt$ popd
~/crystalmedia/test ~
[email protected]:~/crystalmedia/test$ popd
~
[email protected]:~$
From the above example we can see that , use pushd To replace cd It's very useful .
pushd and popd Of the two +n
pushd +n
pushd +n Switch to the... In the directory stack n A catalog ( there n Namely dirs -v Command displayed index), And push the directory to the top of the stack in a stack loop .
popd +n
Put the... In the directory stack n Elements delete ( there n It's an order dirs -v Displayed directory index)
We usually don't want to dirs Show it , So pass
pushd Catalog >/dev/null
边栏推荐
- MySQL insert data create trigger fill UUID field value
- Some online academic report websites and machine learning videos
- 关于easyflash v3.3使用过程的记录
- ArrayList线程不安全和解决方案
- [dai6] mirror image of JZ27 binary tree
- SQL Server 知识汇集9 : 修改数据
- Use of dotween
- [detailed explanation of Huawei machine test] tall and short people queue up
- 高级软考(网络规划设计师)该如何备考?
- 2021 summary and 2022 outlook
猜你喜欢
IO model review
SQL Server knowledge gathering 9: modifying data
When do you usually get grades in the soft exam? Online pedaling?
Operation method of Orange Pie orangepi 4 lts development board connecting SATA hard disk through mini PCIe
软考一般什么时候出成绩呢?在线蹬?
Network engineer test questions and answers in May of the first half of 2022
[STM32] solution to the problem that SWD cannot recognize devices after STM32 burning program
小程序跳转H5,配置业务域名经验教程
The gun startles the dragon, and the crowd "locks" Zhou Zhi
PHP \ newline cannot be output
随机推荐
软考中级有用吗??
Using tansformer to segment three-dimensional abdominal multiple organs -- actual battle of unetr
IDA中常见快捷键
【作业】2022.7.6 写一个自己的cal函数
Typescript interface inheritance
2021 summary and 2022 outlook
[STM32] solution to the problem that SWD cannot recognize devices after STM32 burning program
施努卡:机器视觉定位技术 机器视觉定位原理
在线硬核工具
Elegant controller layer code
Find the greatest common divisor and the least common multiple (C language)
JS implementation chain call
"Dream Cup" 2017 Jiangsu information and future primary school summer camp it expert PK program design questions
Installation and configuration of slurm resource management and job scheduling system
Five simple and practical daily development functions of chrome are explained in detail. Unlock quickly to improve your efficiency!
Différences entre les contraintes monotones et anti - monotones
Is the soft test intermediate useful??
Using U2 net deep network to realize -- certificate photo generation program
Application of OpenGL gllightfv function and related knowledge of light source
CSAPP bomb lab parsing