All pastes #251902 Raw Edit

segin

public shellscript v1 · immutable
#251902 ·published 2006-11-18 20:16 UTC
rendered paste body
#!/bin/sh# That there is an interpeter line, tells the OS what program to use to run this script.## `$#' is the number of arguments passed to the script. The actual script name counts as one. # If the script was invoked as just "game.sh" with no additional arguments, then "game.sh" is the# first argument. if [ $# == 1 ]; then    echo "Please select a game to play as an argument.";    echo "Examples are \"starcraft\" and \"wow\".";    exit 1;    # No game specified, so exit.fi# $1 is the second argument, or what comes immedatly after "game.sh" on the commandline.# $0 is the "game.sh" argument, or program name argument.if [ $1 == "starcraft" ]; then    # 'ntfs-3g' is the FUSE driver for read-write NTFS support.    if mount /dev/hdb1 /mnt/winc -t ntfs-3g -o rw; then        # If the mount failed, this wouldn't run.         cd /mnt/winc/StarCraft/;        wine starcraft.exe;        exit 0;        # The game ran, so exit with sucess (0)    else         echo "Mount failed!";        exit 1;    fifi# 'fi' is how you end an 'if' block.if [ $1 == "wow" ]; then    if mount /dev/hdb1 /mnt/winc -t ntfs-3g -o rw; then        # If the mount failed, this wouldn't run.         cd /mnt/winc/Program\ Files/Blizzard/World\ of\ Warcraft/;        wine WoW.exe -opengl;        exit 0;        # The game ran, so exit with sucess (0)    else         echo "Mount failed!";        exit 1;    fifi# If the argument weasn't a valid game name, the code would reach this point.# Also, you can encompass variable names in {}, but you still need the $ in front.echo "Invalid game name: ${1}"; exit 1;