【问题标题】:Bash programming — how to add string into text fileBash 编程——如何将字符串添加到文本文件中
【发布时间】:2014-11-14 18:25:08
【问题描述】:
touch log.txt
while [ 1 ]; do 
 echo "insert data: "
 read data
 if [ $data = "finish" ]; then
  break
 fi
 echo "$data" >> log.txt

当我运行程序并在诸如“hello im martin”之类的输入中输入一个单词时,它给了我一个错误,说意外运算符。如何解决这个问题?

【问题讨论】:

  • 你有最后一行写成done,对吗? :)
  • @FernandoAires:如果缺少done,脚本将无法运行以获取输入,然后在“意外运算符”上失败。

标签: linux bash shell command-line linux-mint


【解决方案1】:

您的 echo 语句后面缺少一个 done 关键字,它表示 while 循环的结束。

此外,您应该将第 5 行的 $data 放在引号中,否则 hello im martin 输入将导致该行被解释为:

if [ hello im martin = "finish" ]; then

【讨论】:

  • 而且,在 Bash 中,另一个选项是使用 [[ … ]] 运算符进行比较。
【解决方案2】:

试试这个

而 [ 1 ];做

echo "插入数据:";读取数据

如果 [ "$data" == "完成" ];那么

休息;

fi

echo "$data" >> log.txt;

完成

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-14
    相关资源
    最近更新 更多