重定向到从命令行获取的文件

时间:2015-04-10 04:52:35

标签: shell

我是初学者。 :) 我试图在shell中提示提示文件的名称 并在另一个shell中编辑该文件,如下所示:

test.sh

echo "enter file name"
read word
sh test2.sh

test2.sh

read number
echo "$number" >> $word

我收到错误

Test2.sh: line 1: $mAmbiguous redirect 

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

如果您希望test.sh中的变量对其子进程可见,则需要export它。在您的情况下,您似乎想要export word。或许更好的方法是让test2.sh接受目标文件作为参数。

test.sh

echo "enter file name"
read word
test2.sh "$word"

test2.sh

#!/bin/sh
: ${1?must have destination file name}  # fail if missing
read number
echo "$number" >> "$1"