当前位置:网站首页>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
边栏推荐
- What are the contents of the intermediate soft test, the software designer test, and the test outline?
- China Southern Airlines pa3.1
- Multisim -- software related skills
- Schnuka: machine vision positioning technology machine vision positioning principle
- [recommendation system 02] deepfm, youtubednn, DSSM, MMOE
- How much review time does it usually take to take the intermediate soft exam?
- ADB utility commands (network package, log, tuning related)
- July 10, 2022 "five heart public welfare" activity notice + registration entry (two-dimensional code)
- I'd rather say simple problems a hundred times than do complex problems once
- 使用Tansformer分割三维腹部多器官--UNETR实战
猜你喜欢

ArrayList线程不安全和解决方案

CAS mechanism

Mendeley--免费的文献管理工具,给论文自动插入参考文献
![[daiy5] jz77 print binary tree in zigzag order](/img/ba/b2dfbf121798757c7b9fba4811221b.png)
[daiy5] jz77 print binary tree in zigzag order

Application of OpenGL gllightfv function and related knowledge of light source

"Dream Cup" 2017 Jiangsu information and future primary school summer camp it expert PK program design questions

Pre knowledge reserve of TS type gymnastics to become an excellent TS gymnastics master

SQL Server knowledge gathering 9: modifying data

多线程-异步编排

openinstall与虎扑达成合作,挖掘体育文化产业数据价值
随机推荐
Typescript interface inheritance
CAS mechanism
MONAI版本更新到 0.9 啦,看看有什么新功能
CSAPP Bomb Lab 解析
【机器学习 03】拉格朗日乘子法
【PyTorch 07】 动手学深度学习——chapter_preliminaries/ndarray 习题动手版
使用U2-Net深层网络实现——证件照生成程序
[recommendation system 02] deepfm, youtubednn, DSSM, MMOE
中级软件评测师考什么
中级网络工程师是什么?主要是考什么,有什么用?
ArrayList线程不安全和解决方案
What does intermediate software evaluator test
简单易修改的弹框组件
ADB utility commands (network package, log, tuning related)
How to successfully pass the senior system architecture designer in the second half of the year?
[machine learning 03] Lagrange multiplier method
2022.7.3DAY595
2021 summary and 2022 outlook
[dai6] mirror image of JZ27 binary tree
路由器开发知识汇总