博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
shell 初学者 必读 ,强烈推荐新手读
阅读量:4357 次
发布时间:2019-06-07

本文共 623 字,大约阅读时间需要 2 分钟。

背景:

很多人从C/C++转化而来,看了学习文档之后,踩入了很多坑

1 对变量赋值 不要有空格

a=123 # 正确a = 123    # 错误

2  if语句 [] 要留有空格,变量最好加""

if [ "$a" -eq 10]  # 对的if [$a -eq 10]      # 错的

3 很多情况下希望输出“!”  这个时候要用单引号

echo ‘ok!'       #对的echo “error!”  #错误的

4 位置参数超过10 要用上大括号  小于10的可以不用

echo ${10}     #正确,表示打印第10个变量echo $10         #也正确,不过表示的是第一个变量后面加一个0

5 牢记未初始化的变量为null ,不为0

6 if 语句里的双引号

if [ -n "$a" ]        # rightif [ -n $a ]           #error

7 子shell的操作不会影响父shell

子shell:

#!/bin/bashSTRING_TEST="test"export STRING_TEST

父shell:

echo $STRING_TEST

8 dos 风格的\r\n 在bash中是不合法的

dos2unix  需要转换一下

9 在参数传递中出现空格

 

 以上内容出现在

 

转载于:https://www.cnblogs.com/hans-201506/p/5087976.html

你可能感兴趣的文章
IOS开发札记
查看>>
1.2.2 OSI参考模型 上
查看>>
centos服务器设置代理上网的方法
查看>>
Linux企业运维高效技巧心得及分享
查看>>
fdisk分区和挂载
查看>>
2019春第八周作业
查看>>
AsyncTask和Handler两种异步方式的实现和区别比较
查看>>
wordpress搬迁后内页显示链接错误解决办法
查看>>
制造行业流程管理的“IPO”思维
查看>>
Android PhotoView基本功能实现
查看>>
基于Docker搭建MySQL主从复制
查看>>
两台centos之间传送文件
查看>>
使用DevExpress官方汉化文件对界面进行汉化的过程
查看>>
关于获取各种浏览器可见窗口大小的一点点研究
查看>>
C#获取枚举描述
查看>>
emwin 之模态窗口
查看>>
.NET (C#) Internals: ASP.NET 应用程序与页面生命周期(意译)
查看>>
值语义与对象语义
查看>>
查找(二叉排序树)
查看>>
python全栈开发-Day8 函数基础
查看>>