【发布时间】:2013-07-17 10:08:57
【问题描述】:
我正在尝试获取变量的第一个字符,但我遇到了错误替换错误。谁能帮我修一下?
代码是:
while IFS=$'\n' read line
do
if [ ! ${line:0:1} == "#"] # Error on this line
then
eval echo "$line"
eval createSymlink $line
fi
done < /some/file.txt
我做错了什么还是有更好的方法?
-- 编辑--
根据要求 - 这是存储在 /some/file.txt 中的一些示例输入
$MOZ_HOME/mobile/android/chrome/content/browser.js
$MOZ_HOME/mobile/android/locales/en-US/chrome/browser.properties
$MOZ_HOME/mobile/android/components/ContentPermissionPrompt.js
【问题讨论】:
-
也许你需要在右引号和右括号之间留一个空格,即
"#" ] -
你也可以选择
A != B而不是! A == B -
@doubleDown 这些都不起作用 - 对不起!该行仍然出现错误替换错误
-
@Martyn 你可以从 file.txt 中发布一些输入数据以便我们进行测试吗?
-
文件中可能有空行,或者以空格开头的行?试试
if [ ! "${line:0:1}" == "#" ]
标签: bash