从bash脚本中读取变量时参数太多

时间:2016-12-23 20:00:58

标签: linux bash

我正在尝试编写一个bash脚本,它会在每次运行时切换我的触控板活动。它如下。

#!/bin/bash

zero=0;

if [ ! -f "/tmp/touchpadON.dat"  ]; then 
    T=0                                  
    xinput disable 12
    echo no file found
else
    T='cat /tmp/touchpadON.dat'
    if [ $T -eq $zero ]  # ERROR here, too many arguments.
    then
    T=1
    xinput disable 12
    echo diabling trackpad

    else
    T=0
    xinput enable 12
    echo enabling trackpad
    fi

fi

echo $T

echo "${T}" > /tmp/touchpadON.dat

当我尝试运行这个脚本时,我在第11行生成一个错误,告诉我我有太多的参数。我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

尝试T=$(cat file.dat)
你的方式不是文件的内容而只是命令。

答案 1 :(得分:0)

更改

if [ $T -eq $zero ]

if [ $T -eq "$zero" ]

然后试试。

您可以通过以下方式更好地编写if语句:

if [[ $T == $zero ]]

请参阅Conditional Constructs上的Bash手册。