当前位置:网站首页>Shell script basic syntax
Shell script basic syntax
2022-07-05 07:53:00 【Group field】
Mac Under the computer Bash, yes Unix shell A kind of , Developers through shell Script middleware calls the system kernel , So it is necessary for Apple developers to learn .
1 Create and export
1-1 establish Shell file
command :touch hello.sh
1-2 Definition file declaration
#!/bin/bash
#!: Indicates the Convention mark , He will tell the system what kind of interpreter this script needs to execute , It is both a script embodiment .'#' notes , Be careful : stay Shell Script , No multi line gaze , Only single line comments .
echo “Hello world!”
1-3 perform Shell Script hello file
command :./hello.sh
View and modify file permissions
View command :ls -l hello.sh
Modify the order : chmod +x ./hello.sh
-rwxr-xr-x
1-4 Variable operating
- There should be no spaces in the assignment
name="Kenny"
Can not writename = "Kenny"
Variable names must start with ‘a-z’ or ‘A-Z’ See the letter of , Read only variables cannot be modified , tastereadonly name
- Delete variables
unset name
- Special variables
${0}
: File name${?}
: Indicates the return value of the execution status of the previous command$#
: Number of parameters$*
: parameter list , Composite string[email protected]
: parameter list$$
: Go back to the current shell Conduct ID$!
: Execute last instruction PID
1-5 String splicing 、 Intercept 、 Delete
- Splicing
#!/bin/bash
name='Andy'
age=100
sex=" male "
info=" full name :'${name}' Age :'${age}' Gender :'${sex}' "
echo ${info}
- Intercept
Variable name : start : end , result ’have’
name="I have a Dream"
result=${name:2:4}
echo ${result}
Find the length of the variable length=${#name}-1
The end position may not be written , To the end
name="I have a Dream"
result=${name:5:length-1}
echo ${result}
- Delete
# Grammar 1 :${ Variable name # Delete string Regular expressions }
Delete from the first## Grammar II :${ Variable name ## Delete string Regular expressions }
Delete from the last% Grammar 3 :${ Variable name % Delete string Regular expressions }
Find the first of the specified characters , And delete all the previous characters ( Include yourself )%% Grammar 3 :${ Variable name %% Delete string Regular expressions }
Find the last of the specified character , And delete all the previous characters ( Include yourself )
Delete range : Delete from left to right
#-> Indicates that the query direction is from left to right
%-> Indicates that the query direction is from right to left
Delete range : Delete from right to left
##-> Indicates that the query direction is from right to left
%%-> Indicates that the query direction is from left to right
Case a : Find the first of the specified characters , And delete all the following characters ( Include yourself )
#
Look for the first one from the left , And delete all the previous characters ( Include yourself )
name="I have a Dream"
result=${name#*a}
echo ${result}
result
ve a Dream
##
Look for the first one from the right , And delete all the previous characters ( Include yourself )
name="I have a Dream"
result=${name##*a}
echo ${result}
result
m
Case 2 : Find the first of the specified characters , And delete all the following characters ( Include yourself )
%
Look for the first one from the right , And delete all the following characters ( Include yourself )
name="I have a Dream"
result=${name%a*}
echo ${result}
result
I have a Dre
%%
Look for the first one from the left , And delete all the following characters ( Include yourself )
name="I have a Dream"
result=${name%%a*}
echo ${result}
result
I h
边栏推荐
- Gradle复合构建
- UEFI development learning 5 - simple use of protocol
- Global and Chinese market of core pallets 2022-2028: Research Report on technology, participants, trends, market size and share
- [MySQL] database knowledge record
- [professional literacy] specific direction of analog integrated circuits
- Consul安装
- 软件设计师:03-数据库系统
- PIL's image tool image reduction and splicing.
- Embedded AI intelligent technology liquid particle counter
- A simple method to prove 1/t Fourier transform
猜你喜欢
Record the visual shock of the Winter Olympics and the introduction of the screen 2
生产中影响滑环质量的因素
P3D gauge size problem
From then on, I understand convolutional neural network (CNN)
Realization of binary relation of discrete mathematics with C language and its properties
Could NOT find XXX (missing: XXX_LIBRARY XXX_DIR)
Openxlsx field reading problem
UEFI development learning 5 - simple use of protocol
Altium Designer 19.1.18 - 更改铺铜的透明度
The printer encountered an abnormal configuration problem 0x8007007e (win10)
随机推荐
1089 insert or merge, including test point 5
QT's excellent articles
Global and Chinese market of quenching furnaces 2022-2028: Research Report on technology, participants, trends, market size and share
MySQL - storage engine
Beijing Winter Olympics opening ceremony display equipment record 3
Explain STM32 startup file in detail
Opendrive record
Temperature sensor DS18B20 principle, with STM32 routine code
Global and Chinese market of digital shore durometer 2022-2028: Research Report on technology, participants, trends, market size and share
Opendrive ramp
NSIS finds out whether the file exists and sets the installation path
Linked list (establishment, deletion, insertion and printing of one-way linked list)
Charles- unable to grab bags and surf the Internet
·Practical website·
PIL's image tool image reduction and splicing.
Acwing-宠物小精灵之收服-(多维01背包+正序倒序+两种形式dp求答案)
[idea] common shortcut keys
Summary of STM32 serial port sending and receiving data methods
Cadence simulation encountered "input.scs": can not open input file change path problem
Numpy——1. Creation of array