尚观课程-1.Shell基础

版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/qq_17054989/article/details/82491482
Shell程序的特点:
1.简单易学
2.解释性语言:不需要编译即可执行
查看系统默认SHELL echo $SHELL
目录操作


1.Alt + .
2.按下Esc 后按 .
3.!$

!$示例

4 . cd - 切换当前目录和上次使用的目录

这里写图片描述

Shell脚本程序有两种执行方式:

1、交互式执行
2、作为程序文件执行。
通常采用第二种方式较多

交互式脚本
[root@localhost ~]# for filename in `ls /etc/`
 > do
 > if echo "$filename" | grep "xml"
 > then 
 > echo "$filename"
 > fi
 > done
脚本
#!/bin/bash
#for循环开始
for filename in `ls /etc/ `
do
      #如果文件名包含xml
      if echo "$filename" | grep "xml"
      then
            #输出文件名
            echo "$filename"
      fi
done
修改文件权限
用户可以通过chmod命令修改文件的权限属性。
chmod [options] filename
[root@localhost chapter1]# chmod u+x ex1-2.sh 
[root@localhost chapter1]# ll
total 4
-rwxr--r--  1   root    root    116 Dec 18 23:11    ex1-2.sh

Shell脚本的基本元素

对于一个基本的Shell程序来说,应该拥有以下基本元素:
1)第1行的“#!/bin/bash”。
2)注释:说明某些代码的功能。
3)可执行语句:实现程序的功能。

输出Hello World
#!/bin/bash

#输出字符串
echo "Hello Bash Shell!"
[root@localhost chapter1]# chmod +x ex1-5.sh 
[root@localhost chapter1]# ./ex1-5.sh
Hello, Bash Shell!
指定命令解释器

命令解释器用来解释并执行当前脚本文件中的语句,语法:

#!path

例如:#!/bin/bash
Shell注释
单行注释
通过在代码中增加注释可以提高程序的可读性。传统的Shell只支持单行注释,其表示方法是一个井号“#”,从该符号开始一直到行尾都属于注释的内容。
例如:
#comment1
#comment2
#comment3
...
多行注释
用户还可以通过其他的一些变通的方法来实现多行注释,其中,最简单的方法就是使用冒号“:”配合here document,语法如下:
:<<BLOCK 

....注释内容 

BLOCK


#!/bin/bash

:<<BLOCK
本脚本的作用是输出一行字符串
This is Comment
BLOCK
echo "Hello world!"
如何执行Shell脚本

在Linux中,如果要执行某个Shell脚本,用户可以通过3种方式来实现。这3种方式分别为:
授予用户执行该脚本文件的权限,使得该脚本能够直接执行。
通过调用Shell脚本解释器来执行。
通过source命令来执行。
例如:

[root@localhost chapter1]# /bin/bash ex1-5.sh 
Hello, Bash Shell!
无执行权限使用脚本
[root@localhost chapter1]# bash ex1-5.sh 
Hello, Bash Shell!
[root@localhost chapter1]# sh ex1-5.sh 
Hello, Bash Shell!
[root@localhost chapter1]# source ex1-5.sh 
Hello, Bash Shell!
[root@localhost chapter1]# . ex1-5.sh 
Hello, Bash Shell!

有执行权限使用脚本
[root@localhost chapter1]# ./ex1-5.sh 
Hello, Bash Shell!
[root@localhost chapter1]# chapter1/ex1-5.sh 
Hello, Bash Shell!

各类引号的区别

Shell语言中一共有3种引号,分别为
单引号(’ ‘)单引号括起来的字符都作为普通字符出现
双引号(” “)双引号括起来的字符,除“$”、“\”、“’”和“””这几个字符仍是特殊字符并保留其特殊功能外,其余字符仍作为普通字符对待,
反引号()。反引号括起来的字串被Shell解释为命令,在执行时,Shell首先执行该命令,并以它的标准输出结果取代整个反引号(包括两个反引号)部分

这里写图片描述

反引号``等价于$()

用法为

[root@qzw ~]# echo "user is `whoami` "
user is root 
[root@qzw ~]# echo "user is $(whoami)"
user is root

猜你喜欢

转载自blog.csdn.net/qq_17054989/article/details/82491482
今日推荐