shell文件书写规则、执行

1.shell文件执行

新建shell文件:shell.sh

执行:cd进父目录 ./shell.sh

报错:Permission denied

报错是因为shell文件有语法错误。

chmod 777 *.sh

参考:运行shell脚本报错:Permission denied_一只奋斗的小强的博客-CSDN博客

2.shell文件书写规则

2.1 输出到文件

echo "hello" > 1.txt

会自动创建1.txt并输出。

2.2 输出信息覆盖原信息

echo "hello" >> 1.txt

>>是追加,>是直接覆盖

2.3 echo输出不要换行

echo -n "hello" >> 1.txt

echo输出默认是换行的,不换行的话需要加-n

参考:echo不换行输出的两种方式_panamera12的博客-CSDN博客_echo 不换行

2.4 涉及文件操作的判断 -f

-f是文件存在

参考:shell 之 -f -z -e -o -a -d_Limeng_L的博客-CSDN博客_shell-f

2.5 shell定义字符串,以及"" ''区分

直接写即可

file="1.txt"        echo "hello" > $file

""会把$等内容输出,而''会原封不动输出字符串($也认为是字符)。

参考:Shell字符串详解

2.6 grep结果赋值(没测)

如果直接输出的话,是grep的执行是否成功。需要用""给引起来,注意转义。

参考:grep查询文本:问一个简单shell问题,将grep的输出赋值给一个变量 - 百度文库

3.例子

上面的总结,都是源于例子实践总结。

比如:统计C语言个数。要注意空格的规范,当然注释是不能执行的。

#! /bin/bash
 declare -i count=0;//用来计数
 for name in  $(ls *.c)
 do
   if [ -f $name ]//注意两端空格
   then echo "$name";
   count=count+1;
   fi
  done
  echo "$count"

源自:用shell程序列举当前目录下的所有.c文件,统计并输出文件个数(亲测有效,如果报错可以看看代码格式对不对)_jiluoluoa的博客-CSDN博客_shell 当前目录下所有文件

比如:统计字符出现的次数。

grep -o "hello" temp.txt | wc -l

参考:Linux Shell之统计某个字符串在文件中的出现次数_二木成林的博客-CSDN博客_linux统计字符串出现次数

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值