Unix变量声明
您好,我是shell
脚本的总新手。Unix变量声明
我有一个名为logA.log
的日志文件和一个B.sh
文件。
在日志文件中有一些线,我想通过执行B.sh
在BI找到spesific词在该日志的数量(去年10线)写道
#!/bin/bash
variableString = tail -10f /home/appuser/logA.log
grep ERROR $variableString | wc -l
但输出是:
variableString:命令未找到
我知道“grep”行正在工作,但我无法达到logA in b.sh
。
我如何定义一个名为variableString
截至去年10线logA
abidinberkay
回答
tail -f
(“follow”)不会完成,所以它永远不会到达下一行。你的意思可能是tail -n 10
(-n
使之成为POSIX compatible)。- 分配变量时,不能在等号周围使用空格。
- 变量被分配给右侧评估的字符串。如果没有特殊的结构,结果将会是等号后的文字字符串。
- 你应该quote变量,以避免扩大。
总之,您应该使用:
variableString=$(tail -10 /home/appuser/logA.log)
l0b0
啊是啊是 “-f” 参数杀了我,感谢疑难杂症 –
你的命令变量都OK,但你必须要知道的存储命令输出的方式:var=$(command)
。此外,你可能会得到几行,所以引用return命令来保持格式。因此,你应该使用:
variableString="$(tail -10f /home/appuser/logA.log)"
grep ERROR "$variableString" | wc -l
当你的错误
variableString:找不到命令
那是因为你定义你的语法,有bash
解释执行variableString
命令与= tail -10f /home/appuser/logA.log
参数。有关详细信息,请参阅Basic bash script variable declaration - command not found。
fedorqui
Unix变量声明
相关文章
- 【技术种草】cdn+轻量服务器+hugo=让博客“云原生”一下
- CLB运维&运营最佳实践 ---访问日志大洞察
- vnc方式登陆服务器
- 轻松学排序算法:眼睛直观感受几种常用排序算法
- 十二个经典的大数据项目
- 为什么使用 CDN 内容分发网络?
- 大数据——大数据默认端口号列表
- Weld 1.1.5.Final,JSR-299 的框架
- JavaFX 2012:彻底开源
- 提升as3程序性能的十大要点
- 通过凸面几何学进行独立于边际的在线多类学习
- 利用行动影响的规律性和部分已知的模型进行离线强化学习
- ModelLight:基于模型的交通信号控制的元强化学习
- 浅谈Visual Source Safe项目分支
- 基于先验知识的递归卡尔曼滤波的代理人联合状态和输入估计
- 结合网络结构和非线性恢复来提高声誉评估的性能
- 最佳实践丨云开发CloudBase多环境管理实践
- TimeVAE:用于生成多变量时间序列的变异自动编码器
- 具有线性阈值激活的神经网络:结构和算法
- 内网渗透之横向移动 -- 从域外向域内进行密码喷洒攻击