# Shellscript

## flammenflitzer

Hallo

Ich muß mir zum Start von Conky ein Script anlegen. Gründe sind wurscht. Wichtig ist das Script.

Es muß festgestellt werden, ob in /sys/bus/i2c/devices/ 0-0073 oder 1-0073 vorhanden ist. Wenn /sys/bus/i2c/devices/0-0073 soll conky mit .conkyrc gestartet werden, Wenn nicht dann soll conky mit .conkyrc-1 gestartet werden.wie kann ich den Inhalt von /tmp/conk-1 mit Test auswerten?

```
#!/bin/sh

ls /sys/bus/i2c/devices/ >> /tmp/conk 

cat /tmp/conk | grep 0073 >> /tmp/conk-1

cat /tmp/conk-1 

if test -z $0-0073

then

 exec concy -c ./home/olaf/.conkyrc

else

 exec concy -c ./home/olaf/.conkyrc-1

fi

echo ""

rm /tmp/conk

rm /tmp/conk-1

exit

```

MfG

----------

## smg

```
#!/bin/sh

if test -z $(grep -i 0073 $(ls /sys/bus/i2c/devices/)); 

then

 exec concy -c ./home/olaf/.conkyrc

else

 exec concy -c ./home/olaf/.conkyrc-1

fi

echo 

exit 
```

----------

## Beforegod

```

#!/bin/sh

if ls /sys/bus/i2c/devices/0-0073

then

 exec concy -c ./home/olaf/.conkyrc

else

 exec concy -c ./home/olaf/.conkyrc-1

fi

echo ""

exit 

```

Sollte gehen

--

Mist da war jemand schneller  :Smile: 

----------

## smg

@BeforeGod: Jo, aber meine Lösung ist suboptimal, ich ändere es mal.

```
#!/bin/sh

CMD='concy -c ./home/olaf/.conkyrc-1'

[[ -e /sys/bus/i2c/devices/0-0073 ]] && CMD='concy -c ./home/olaf/.conkyrc

exec "$CMD" && echo && exit 
```

So  :Smile: 

----------

## flammenflitzer

Momentan habe ich diese Lösung:

```
#!/bin/sh

ls /sys/bus/i2c/devices/0-0073 >> /dev/null

echo $?

if  echo $? = 0

then exec /usr/bin/conky -c $HOME/.conkyrc-1

else exec /usr/bin/conky -c $HOME/.conkyrc-0

fi

exit
```

Worum es geht ist, wie werte ich den Inhalt der Datei (z.B. /tmp/conk-1) aus, bzw. wie ziehe ich ihn zum Vergleich heran?

```
test -z $grep -i 0073 
```

 ?

----------

## smg

 *smg wrote:*   

> 
> 
> ```
> #!/bin/sh
> 
> ...

 

----------

