shell笔记

1、shell创建:
(方法1)Sudo su进入root----切换到你想要的目录— 终端命令(创建一个shell脚本):gedit hello.sh(这是文本编辑器里就会有你新建的文件 )----编写shell脚本,保存—终端命令(授予可执行权利):chmod +x hello.sh-----终端命令(编译脚本): ./hello.sh
在这里插入图片描述
(方法2)终端,cd到目录下
touch 文件名 //创建文件
vi 文件名 //vim编辑器打开文件
在vim编辑器中编辑文件(我不喜欢用这个)
chmod 755 my_script //755代表允许执行shell脚本
./文件名.sh //执行文件
(方3)新建空白文档,命名为文件名.sh,编辑代码
到目录下,chmod +x 文件名.sh ./文件名.sh

2.创建的shell有锁(表示只可读,不可编辑)。有没有锁取决于你的脚本是在直接文本创建的,还是gedit,touch等命令生成的。用了命令就有锁。#!/bin/bash必须是代码第一行
在这里插入图片描述
3、脚本中出现下代码会死循环,因为你不停在调用这个文件

chmod +x 文件名    //这一步好像都不用就可以执行
./文件名

或者
/bin/sh test.sh //也会死循环

4、#shell传递参数
echo "执行的文件名:$0";
echo "第一个参数为:$1";
echo "第二个参数为:$2";
echo "第三个参数为:$3";
:<<!
在终端:
$ chmod +x test.sh 
$ ./test.sh 1 2 3  #这里就是传递的四个参数
!

![在这里插入图片描述](https://img-blog.csdnimg.cn/20191107161849370.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzNTQ3ODAw,size_16,color_FFFFFF,t_70)
$* 与 $@ 区别:

相同点:都是引用所有参数。
不同点:只有在双引号中体现出来。假设在脚本运行时写了三个参数 1、2、3,,则 " * " 等价于 "1 2 3"(传递了一个参数),而 "@" 等价于 "1" "2" "3"(传递了三个参数)。


5、shell运算
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191107162527131.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzNTQ3ODAw,size_16,color_FFFFFF,t_70)
符号和变量之间必须v要有空格
6、关系运算符(只支持数字
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191107163533146.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzNTQ3ODAw,size_16,color_FFFFFF,t_70)
7.或与非运算
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191107164050641.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzNTQ3ODAw,size_16,color_FFFFFF,t_70)
#shell关系运算符(只针对数字)
#非或与 !-o -a
#and &&  or ||
7、字符串运算
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191107164442575.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzNTQ3ODAw,size_16,color_FFFFFF,t_70)
8、文件运算符
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191107164713230.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzNTQ3ODAw,size_16,color_FFFFFF,t_70)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191107165327402.png)
8、echo


9、创建c,并运行c,cd到相应的目录
touch test1.c ——这就创建好了C文件,然后文件夹里打开c文件编辑并保存
gcc test1.c ——这是编译,没有消息就是最好的消息。有错就一串字母
./a.out——这是运行。出结果

![在这里插入图片描述](https://img-blog.csdnimg.cn/20191117020159928.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzNTQ3ODAw,size_16,color_FFFFFF,t_70)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值