文档章节

将shell放入脚 本为什么就出错呢?

 沉默的云
发布于 2016/05/26 12:40
字数 106
阅读 13
收藏 0

 单独运行shell能够正确提取IP地址,命令如下:

ifconfig eth0 | grep 'inet addr' | awk '{print $2}' | awk -F : '{print $2}'

但是放入脚本赋值给变量为什么会出错呢?脚本如下:

#! /bin/bash

IP=ifconfig eth0 | grep 'inet addr' | awk '{print $2}' | awk -F : '{print $2}'

echo "$IP"

exit

运行脚本后,提示:

line 2: eth0: command not found

© 著作权归作者所有

共有 人打赏支持
粉丝 0
博文 59
码字总数 56194
作品 0
合肥
私信 提问
加载中

评论(2)

沉默的云
以上内容都是在desktop版本下操作的,在server版本下,原脚本可以运行。
沉默的云
终于找到原因了,在ifconfig前要加上 LC_ALL=C 这个标识。那么LC_ALL=C有什么用呢?
LC_ALL=C 是为了去除所有本地化的设置,让命令能正确执行。
下面是别人的总结,录下来,以后慢慢研究。
在Linux中通过locale来设置程序运行的不同语言环境,locale由ANSI C提供支持。locale的命名规则为<语言>_<地区>.<字符集编码>,如zh_CN.UTF-8,zh代表中文,CN代表大陆地区,UTF-8表示字符集。在locale环境中,有一组变量,代表国际化环境中的不同设置:1. LC_COLLATE
定义该环境的排序和比较规则
2. LC_CTYPE
用于字符分类和字符串处理,控制所有字符的处理方式,包括字符编码,字符是单字节还是多字节,如何打印等。是最重要的一个环境变量。
3. LC_MONETARY
货币格式
4. LC_NUMERIC
非货币的数字显示格式
5. LC_TIME
时间和日期格式
6. LC_MESSAGES
提示信息的语言。另外还有一个LANGUAGE参数,它与LC_MESSAGES相似,但如果该参数一旦设置,则LC_MESSAGES参数就会失效。LANGUAGE参数可同时设置多种语言信息,如LANGUANE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"。
7. LANG
LC_*的默认值,是最低级别的设置,如果LC_*没有设置,则使用该值。类似于 LC_ALL。
8. LC_ALL
它是一个宏,如果该值设置了,则该值会覆盖所有LC_*的设置值。注意,LANG的值不受该宏影响。
C"是系统默认的locale,"POSIX"是"C"的别名。所以当我们新安装完一个系统时,默认的locale就是C或POSIX。
符号链接(Symbolic)、package.json的bin属性与Shebang

以全局方式安装的npm包,如、等为什么可以像、这样的shell命令(或程序)一样,在任何文件夹都可以通过命令行调用?跟环境变量又有什么关系?什么是符号变量? 在解释这些问题前,先了解下l...

william_zhou
02/10
0
0
[详细实例]MicroPython拼插编程实战:DIY一台会思考的壁障车

(转载请注明文章来源,更多教程可自助参考www.tpyboard.com,QQ技术交流群:157816561,公众号:MicroPython玩家汇) 在日常生活中,大家会经常见到各种各样的遥控车,它需要我们人为的操作...

bodasisiter
2018/09/08
0
0
用STM32做开发,为什么要先开启外设模块时钟?

今天分享以下两点内容: 1.为什么我们要先开启STM32外设模块时钟; 2.关于STM32的 I/O 复用功能及什么时候开启AFIO时钟; 1为什么我们要先开启STM32外设时钟 讲述本节内容之前先说一个案例:...

RTThread物联网操作系统
2018/08/31
0
0
Linux环境Mysql配置定时备份

一、概述 备份是容灾的基础,是指为防止系统出现操作失误或系统故障导致数据丢失,而将全部或部分数据集合从应用主机的硬盘或阵列复制到其它的存储介质的过程。而对于一些网站、系统来说,数...

kisscatforever
2018/01/08
0
0
基于zxing的二维码扫描

前言 现在的应用中二维码扫描已经成为一个应用必不可少的功能,现在大部分Android二维码扫描都是基于zxing和Zbar,这文章就来介绍一下基于zxing的二维码扫描。先看下效果图 效果图 虽然现在的...

g小志
2017/10/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

C++ vector和list的区别

1.vector数据结构 vector和数组类似,拥有一段连续的内存空间,并且起始地址不变。 因此能高效的进行随机存取,时间复杂度为o(1); 但因为内存空间是连续的,所以在进行插入和删除操作时,会造...

shzwork
今天
3
0
Spring之invokeBeanFactoryPostProcessors详解

Spring的refresh的invokeBeanFactoryPostProcessors,就是调用所有注册的、原始的BeanFactoryPostProcessor。 相关源码 public static void invokeBeanFactoryPostProcessors(Configu......

cregu
昨天
4
0
ibmcom/db2express-c_docker官方使用文档

(DEPRECIATED) Please check DB2 Developer-C Edition for the replacement. What is IBM DB2 Express-C ? ``IBM DB2 Express-C``` is the no-charge community edition of DB2 server, a si......

BG2KNT
昨天
3
0
Ubuntu 18.04.2 LTS nvidia-docker2 : 依赖: docker-ce (= 5:18.09.0~3-0~ubuntu-bionic)

平台:Ubuntu 18.04.2 LTS nvidia-docker2 版本:2.0.3 错误描述:在安装nvidia-docker2的时候报dpkg依赖错误 nvidia-docker2 : 依赖: docker-ce (= 5:18.09.0~3-0~ubuntu-bionic) 先看一下依......

Pulsar-V
昨天
4
0
学习笔记1-goland结构体(struct)

写在前面:若有侵权,请发邮件by.su@qq.com告知。 转载者告知:如果本文被转载,但凡涉及到侵权相关事宜,转载者需负责。请知悉! 本文永久更新地址:https://my.oschina.net/bysu/blog/3036...

不最醉不龟归
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部