【发布时间】:2013-01-09 09:26:35
【问题描述】:
我正在尝试读取在 ash shell 中包含单个数字的文件。这样做的 bash 方式
ARG=`cat /tmp/tempfile`
不起作用,我知道 ARG 在这行代码之后没有任何内容。
【问题讨论】:
-
这应该可以正常工作。你确定文件不为空吗?
-
我确定,当我打印值时: echo "stored value= $ARG" 在 "=" 之后什么都没有。此外,当我使用 bash 在计算机上运行此代码时,它也可以正常工作。
-
您能否给我们周围的代码行,以便我们检查它是否来自其他原因(例如:在子shell中读取?)。并确保“var=value”中的 = 周围没有空格。尝试查明 pb:写
cat /tmp/tempfile ; read THEARG</tmp/tempfile ; echo "THEARG=$THEARG":这个想法是为了确保文件是可读的,并且只有 1 行,并将 ARG 更改为 THEARG 以确保它不是 ash 中的保留字。