当前位置:首页 » 编程软件 » shell脚本read

shell脚本read

发布时间: 2022-02-10 20:45:13

1. 用shell写脚本的时候,read命令报错,本来想read一个name变量的,运行之后这行报错。

按照我的经验,某些环境下的缺省变量需要用空格空出来
read [] name

2. shell脚本while read循环无法执行命令,不用循环却可以执行,这是为什么

whilereadline
do
#处理$line即每行文本
done<file.txt

或者:

catfile.txt|whilereadline
do
#处理$line即每行文本
done

检查下你的代码格式,是不是符合上述两种之一。

3. linux的shell脚本的read怎么换行输入

在末尾加反斜杆\,即可换行输入

4. shell脚本 判断read的字符串是不是纯数字

如果你是bash 3.0 或以上,可以这样写:

if [[ "$c" =~ "^[0-9]+$" ]]; then

echo "Number"
else
echo "Not a number!"
fi

5. linux shell read命令被跳过

read是读取你在屏幕上内容的。。。。如果你不输入,肯定是NULL

6. linux shell 跳过read命令,怎么解决

read默认从标准输入读取数据,而这里的管道符会将前面ls命令的结果作为标准输入传递给read命令。所以只要前面还有数据,read命令就不会等待用户输入。

其实,这里可以用 for ... in ... 结构来替代while循环。

forl1in`ls$d1`
do
read-p"1or0"y1
......
done

7. shell脚本中执行 read x 后,x立即分配内存吗分配多少

不是立即分配的
输入read x之后,按下回车键,shell会等待你输入。只有在你输入完成后,按下ctrl+D之后,shell才会重新回到命令提示符状态
变量x的大小跟你输入字符的多少有关

8. shell 脚本 while read a b c d ;do done语句中 a b 的值于最外层不一致

while循环一次只读一行,直至读到文件末尾。你试试下面这个:
while read line
do
echo "$line"
done <./data/1/statusl.txt

就会打印:
335
1
2
00

你要把每行取出来分别赋给一个变量的话,用sed 或 head 即可。
a=`sed -n '1p' ./data/1/statusl.txt`
b=`sed -n '2p' ./data/1/statusl.txt`
或者
a=`head -n 1 ./data/1/statusl.txt`
b=`head -n 2 ./data/1/statusl.txt`

而且上面的awk语句也有错误,把$a,$b放在单引号里面会被认为是awk的变量,不会被shell解析并替换成对应的值的。需要拿到单引号外面来(在$a前关闭单引号,$a之后再打开;$b同样处理)。并且,awk默认的字段分隔符就是空格,所以没必要再用 -F 指定。
修改如下:
awk '{if($1==‘$a’ && $2==‘$b’){print $1;}print ‘$a’,22}' ./data/1/statusl.txt

最后,实在不知道你要干什么。因为awk本身就会读文件,而且也是一行一行地读。
statusl.txt 只有1列,以空格作为分隔符,只能得到一个字段($1),$2不存在。 所以,上面我改的那句其实也是不对的。

9. shell脚本的read -p写法

关于第一个问题:-p: is not an identifier
有可能是因为你的PATH的设定。
你可以在第一个read之前加一行
type read
看看这个read是从哪里来的
同时直接在你的Unix prompt里也输入type read看看结果
应该得到的是同样的答案(read is a shell builtin)

Good Luck!

10. shell脚本中的read和done

while循环结构如下:
while 条件
do
...
done

应该前面还有个do的。这是固定结构,满足条件就会一直循环下去。

因为最后有输入重定向符号<,将整个while循环条件的输入指定为config变量定义的文件。所以,read会逐行读取这个文件中的字段(每行两个字段)分别作为server和ip。
需要注意的是,config.ini文件中的标题行也会被读入。

man read,说明中可以看到,如果读成功的话,read返回读取的字节数;读到文件的末尾则返回0。而对于while来讲,条件为0表示为false,则退出循环。

热点内容
手柄怎么调节安卓模式 发布:2025-01-11 21:44:36 浏览:947
国产服务器搭建ftp 发布:2025-01-11 21:27:33 浏览:917
电脑系统哪个好用配置 发布:2025-01-11 21:26:04 浏览:139
交换机配置中web配置是什么意思 发布:2025-01-11 21:12:07 浏览:409
物资数据库 发布:2025-01-11 21:00:24 浏览:854
javastop 发布:2025-01-11 21:00:20 浏览:31
机械手臂用什么编程 发布:2025-01-11 20:55:32 浏览:592
买钓箱要哪些配置就够了 发布:2025-01-11 20:24:23 浏览:510
防脚本取色 发布:2025-01-11 20:15:17 浏览:638
为什么庄周活动安卓没开始 发布:2025-01-11 20:14:23 浏览:462