I'm having trouble with what I thought would be a very basic script, but has turned out to be more complicated than I imagined. I want to read data from STDIN and then write the data out to a file. After much mucking about, I have a script whichkindofworks; it seems to work fine...
注意:使用上面的 “while read” 循环来逐行读取文件内容,有一个隐晦的异常:如果所给文件的最后一行不是以换行符结尾时,那么这个 “while read” 循环会处理不到最后一行。具体原因说明如下。 如果文件的最后一行以换行符结尾,那么read命令遇到换行符,会暂停获取输入,并把之前读取到的内容赋值给指定的变量,命令自身...
echo "Enter message body" body=$(< /dev/stdin) (加上错误检查代码我省略了succintness) 然而,这可能是因为第二次和第三次重定向得到EOF而得到一个空的主体和身体。 我一直试图关闭并重新打开stdin与<& - 和东西,但它似乎没有那样工作。 我甚至尝试使用分隔符作为文件列表,使用“while; read line”循环并...
我们还可以从终端或 Bash 脚本中的stdin获取用户输入。我们可以使用内置的 Bash 命令read来读取 Bash 用户输入。 它接受用户的输入并将其分配给一个变量。它只能从 Bash shell 中读取一行。 语法: read<variable> 每个以空格分隔的单词都保存在不同的变量中。 Bash 脚本示例: #!/bin/bashecho"Enter your name:...
The following Perl script (my.pl) can read from either the file in the command line arguments or from standard input (STDIN): while (<>) { print($_); } perl my.pl will read from standard input, while perl my.pl a.txt will read from a.txt. This is very handy. Is there an ...
从stdin中"读取"一个变量的值, 也就是, 和键盘进行交互, 来取得变量的值. 使用-a参数可以read数组变量,例如 1:#!/bin/bash 2: 3:declare -a colors 4:# 脚本中所有的后续命令都会把变量"colors"看作数组. 5: 6:echo"Enter your favorite colors (separated from each other by a space)." ...
E_FILE_ACCESS=70E_WRONG_ARGS=71if[ ! -r"$1"] # 判断指定的输入文件是否可读thenecho"Can't read from input file!"echo"Usage: $0 input-file output-file"exit $E_FILE_ACCESSfi# 即使输入文件($1)没被指定if[ -z"$2"]thenecho"Need to specify output file."echo"Usage: $0 input-file ou...
再看一个例子。下面的脚本使用 read 命令从 stdin 获取输入并赋值给 PERSON 变量,最后在 stdout 上输出: #!/bin/bash#Author : mozhiyan#Copyright (c) http://see.xidian.edu.cn/cpp/linux/#Script follows here:echo"What is your name?"read PERSON ...
(1) declare -r name (2) readonly name 局部变量:作用域仅为某代码片断(函数上下文) 位置参数变量:当执行脚本的shell进程传递的参数 特殊变量:shell内置的有特殊功用的变量$?: 0:成功 1-255:失败 bash的基础特性之十一:多命令执行COMMAND1; COMMAND2; COMMAND3; ......
标准输入(stdin) 在本篇和上篇文章中,我们已经多次使用过标准输入(stdin),因为在每次使用键盘输入时,我们都在使用标准输入。为了区别通常意义上的“键盘即标准输入”,这次我们尝试在脚本中使用 read 命令。下面的脚本中就使用了 read 命令,字面上就像“读取标准输入”。