shell编程基础知识(一)

------编写好脚本后,一定要修改文件权限为可执行。

参考网络视频整理

echo $var  等价于 echo ${var}------->加了大括号,有些特殊情况就不会出错。

比如:path="$info.txt"----->本意是在info变量的基础上添加.txt ,此时就需要用大括号将变量括起来。

path="${info}.txt"

变量取值时总应该放在双引号中,防止变量未初始化或初始化为NULL了。[ "$var"  = "$var1" ]

ehco “hello world”  -->当打印不连续的字符时,可以加双引号,也可以不加;

但是var="hello world"  ---->但是变量定义的时候,一定要加双引号。且变量赋值时等号两边不能有空格。

[  $var  =  $var1]                    ----->[ 是命令,所以一定要有空格

echo -e "hello\n"  --------》加-e参数可以打印出转义字符;

echo -e "\033[4mhello \033[0m" --------------->给hello加下划线

**************************************************************************************

shell是一个命令解析器,是当前进程的父进程;

1、查看当前linux系统支持的shell类型:

cat  /etc/shells

2、查看当前使用的shell 

echo $SHELL

 

 直接输入sh

则从当前的bash进入到sh解析器里了。

此时ls 查看发现与bash 中使用ls查看的区别是颜色不同;

此时输入命令后,无法双击tab补齐命令。

小结:不同的shell类似于不同的浏览器,解析后,呈现略有不同。

bash相较sh,类似于vim相较vi,功能更强大一些。写shell脚本二者的区别可以忽略。

3、脚本,我们一般会用后缀.sh 加以区分。

 4、第一行是选择使用哪种shell,即上述中的一种shell,,指定解析器。

#! /bin/sh-------------------->!后面有空格,sh和bash 不用刻意强调,二者区别不大。

4、#  ---------------->用来注释

5、echo "helloworld" ---------->打印字符串

6、echo     ---------------->后面什么不没有,,打印一个空行,等价于 echo  ""

7、执行ls命令

/bin/ls------>列出的文件没有标注颜色;

ls--------->列出的文件会有颜色区分;

问题是 输入 :alias会看到:ls 是有别名的;

8、vim file ------------>file默认都是没有可执行权限的

chmod  a+x file   -------->以下三类都添加可执行权限

chmod  u+x file  -------->仅用户添加可执行权限

chmod  g+x file ------>用户组添加可执行权限

chmod  o+x file--------->其他组添加可执行权限

加号 换成减号,就是去掉对应的权限;

9、脚本程序的执行方法:

方法0)加 #! /bin/sh   ---->chmod  a+x   --->./file.sh

方法1)不指定解析器,即不要这句   #! /bin/sh   也是可行的,会自动调用默认的解析器;(需要 chmod  a+x)

方法2)/bin/bash  file.sh  ------>此时都不需要file.sh 有x 可执行权限;

                        也可以使用 /bin/sh file.sh  --->效果同上;

方法3). file.sh ------------------->最简单。。。。----------->不需要有可执行权限

方法4)source  file.sh --------------------->不需要有可执行权限

10、命令分为:

一种是常见的普通命令:如 ls, pwd,即如果export  PATH=       将PATH置空,ls解析不到了。

另一种是内建命令:man bash-builtins   查看所有的内建命令---->内建命令不需要bash解析也能执行。

如 cd  alias  等。

11、小括号的应用;

cd ..;ls -l   目录变化

(cd ..;ls -l)工作目录没有变化

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值