需要用ctrl+a切换屏幕输出,等待特定信息出现,expect脚本怎么写
时间:2011-03-02
来源:互联网
1. 为什么要在前面加-x??
2. 再问一个问题:
文件名中有空格怎么处理? 比如:
for dev in $(ls -U /sys/bus/platform/devices/); do
cat /sys/bus/platform/devices/${dev}/modalias
done
如果/sys/bus/platform/devices/中又带有空格的文件名,会报错。我自己的解决方法是:
for dev in $(ls -1U /sys/bus/platform/devices/ | sed -e "s/ /@/g"); do
cat "/sys/bus/platform/devices/${dev//@/ }/modalias"
done
但是感觉着方法比较死,有没有通用点的方法?
2. 再问一个问题:
文件名中有空格怎么处理? 比如:
for dev in $(ls -U /sys/bus/platform/devices/); do
cat /sys/bus/platform/devices/${dev}/modalias
done
如果/sys/bus/platform/devices/中又带有空格的文件名,会报错。我自己的解决方法是:
for dev in $(ls -1U /sys/bus/platform/devices/ | sed -e "s/ /@/g"); do
cat "/sys/bus/platform/devices/${dev//@/ }/modalias"
done
但是感觉着方法比较死,有没有通用点的方法?
作者: realfiona 发布时间: 2011-03-02
1,加x是防止=两边都是空值,ABS中有写:
2,加双引号引用变量可以保存变量中的换行与空白.
引用:
在一个混合测试中, 即使使用引用的字符串变量也可能还不够. 如果$string为空的话, [ -n "$string" -o "$a" = "$b" ]可能会在某些版本的Bash中产生错误. 安全的做法是附加一个额外的字符给可能的空变量, [ "x$string" != x -o "x$a" = "x$b" ] ("x"字符是可以相互抵消的).
2,加双引号引用变量可以保存变量中的换行与空白.
作者: ebok 发布时间: 2011-03-02
ebok 写道:
1,加x是防止=两边都是空值,ABS中有写:
2,加双引号引用变量可以保存变量中的换行与空白.
引用:
在一个混合测试中, 即使使用引用的字符串变量也可能还不够. 如果$string为空的话, [ -n "$string" -o "$a" = "$b" ]可能会在某些版本的Bash中产生错误. 安全的做法是附加一个额外的字符给可能的空变量, [ "x$string" != x -o "x$a" = "x$b" ] ("x"字符是可以相互抵消的).
2,加双引号引用变量可以保存变量中的换行与空白.
第一个回答很详细,谢谢。
第二个回答感觉没到点上呃, 对于加双引号可以保存空白这点我知道,但是要怎么改呢?比如:
for dev in $(ls -U /sys/bus/platform/devices/); do、
cat /sys/bus/platform/devices/${dev}/modalias
done
我的电脑上/sys/bus/platform/devices/目录有以下几个文件:
eisa.0
Fixed MDIO bus.0
i8042
pcspkr
serial8250
按照原先的方法,在循环中dev依次取得eisa.0, Fixed, MDIO, bus.0, i8042, pcspkr, serial82580这几个值,即把Fixed MDIO bus.0这个文件被拆开了。
那有办法不让他拆开吗?在哪改呢?
作者: realfiona 发布时间: 2011-03-02
cd /sys/bus/platform/devices/
for dev in *
不会发生文件名分割
for dev in *
不会发生文件名分割
作者: ebok 发布时间: 2011-03-02
适用while循环
作者: trigger 发布时间: 2011-03-02
ebok 写道:
cd /sys/bus/platform/devices/
for dev in *
不会发生文件名分割
for dev in *
不会发生文件名分割
3x
代码:
#!/bin/bash
cd /sys/bus/platform/devices/
for dev in *; do
cat "/sys/bus/platform/devices/${dev}/modalias"
done
cd /sys/bus/platform/devices/
for dev in *; do
cat "/sys/bus/platform/devices/${dev}/modalias"
done
作者: realfiona 发布时间: 2011-03-02
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28