shell简单教程

一、什么是shell

Ubuntu也是bash

二、Linux的启动过程

三、shell脚本的格式

命令是如何执行的:

cd /var ; ls        #用分号隔开

若命令过多,可以把它们写到一个bash文件中然后赋予权限:

vim 1.sh
cd /var/
ls
pwd                    #没有分号,用回车隔开

赋予权限的操作是:

chmod u+x 1.sh

运行命令是:

bash 1.sh

若将此文件发送给别人,但人家的系统默认不是shell,就在1.sh文件中第一行加入:

#!/bin/bash                  #就是sha-bang

这一行是,如果用bash 1.sh命令的话,就会认为这一行是注释;但如果用 ./1.sh的话,就不认为这一行是注释,而是调用/bin下的shell。

第二行可以加一行注释:

#demo

四、脚步不同执行方式的影响

在上面的四种执行命令中,前两个都会产生子进程,他俩的区别是:第一个是直接执行,第二个是用sha-bang。

后两个是在当前的进程中运行的,注意第四个是有一个空格。详细解释如下:

第一个:在子进程中执行,执行完之后不会影响父进程,而且可以不用赋予可执行权限。

第二个:不赋予权限的话,会显示:

bash: ./2.sh:权限不够

所以以后碰到权限不够的问题,不要以为是sodu的问题,有可能是这个问题,所以需要:

chmod u+x 2.sh

效果同第一种。

第三个:会影响当前的进程,结束后父进程的环境也变了。

第四个:同第三个。

五、管道

cat:主要用来把文本的输入显示到终端上

分号主要是用来隔开命令,第一条命令执行完再执行第二条,两个命令之间没啥关系;而管道符是将第一条命令的输出给第二条命令的输入,同时为两个命令建立两个子进程,因为是在子进程中运行的,所以如果有内建命令,是不会传递给父进程的,所以此时要规避使用内建命令。

六、重定向

在输出重定向中,前两个都把原来输出到终端的输出到文件。第一个是会清空源文件,所以注意不要指向系统文件;第二个是在源文件后面追加。第三个是把错误信息输出到文件中;第四个是无论有没有错误,都输出到指定文件中。

七、变量赋值

赋值时不区分变量,比如int和char等,是一样的;等号的左侧和右侧不允许出现空格。

八、变量的引用

默认作用范围是在子进程中,父进程是得不到的;要想得到,就得用export导出才行。

九、环境变量

echo $0:若上一条命令正确,返回0;若错误,返回1。

echo $$:显示当前进程的PID。

echo $0:显示当前进程名称。

echo 显示啥后面都得加$。

十、环境变量配置文件

第一个主要是系统启动和终端启动的配置文件

启动顺序如下:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值