当前位置:网站首页>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
 Please add a picture description

1-4 Variable operating

  • There should be no spaces in the assignment
    name="Kenny" Can not write name = "Kenny"
    Variable names must start with ‘a-z’ or ‘A-Z’ See the letter of , Read only variables cannot be modified , taste readonly 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

原网站

版权声明
本文为[Group field]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/186/202207050750439978.html