You are not logged in.

#1 2011-08-21 17:49:59

Dethredic
Member
Registered: 2009-01-24
Posts: 361
Website

[solved] Help with simple bash script

#!/bin/bash
current_state=cat /home/phil/.screen_state

if ["$current_state" = "laptop"];
then
        disper -S
        echo TV > .screen_state
else
        disper -s
        echo laptop > .screen_state
fi

[phil@pwned ~]$ ./screenswitch.sh
./screenswitch.sh: line 3: /home/phil/.screen_state: Permission denied
./screenswitch.sh: line 5: [: missing `]'
[phil@pwned ~]$ cat /home/phil/.screen_state
laptop
[phil@pwned ~]$


I'm not sure why I'm getting the permission denied, and also I can't see whats wrong with line 5.

Last edited by Dethredic (2011-08-21 19:46:57)

Offline

#2 2011-08-21 17:53:18

karol
Archivist
Registered: 2009-05-06
Posts: 25,440

Re: [solved] Help with simple bash script

IIRC you need spaces

if [ "foo" = "foo" ]; then

between '[' and another character.


Edit: Got it.

current_state=cat /home/phil/.screen_state

This is plain wrong. I get 'Permission denied' too.
Try

current_state=$(cat /home/phil/.screen_state)

Last edited by karol (2011-08-21 17:59:16)

Offline

#3 2011-08-21 19:40:35

Dethredic
Member
Registered: 2009-01-24
Posts: 361
Website

Re: [solved] Help with simple bash script

Thanks a lot, worked great.

Offline

#4 2011-08-21 19:45:04

karol
Archivist
Registered: 2009-05-06
Posts: 25,440

Re: [solved] Help with simple bash script

Please remember to mark as solved :-)

Offline

Board footer

Powered by FluxBB