Sponsored Content
Top Forums Shell Programming and Scripting Passing arguments from a bash shell script to a command Post 302601792 by burbly on Friday 24th of February 2012 11:26:16 AM
Old 02-24-2012
Thanks... that ought to be enough to let me figure it out. FWIW, the original code looked like this, and it works. (Which are certainly not to say that it couldn't be cleaner -- I'm only just starting with bash scripting.)


Code:
#!/usr/bin/bash                                                                                                        
 
wd=$(dirname "$0")
pyth=$(which python)
latex=$(which latex)
xelatex=$(which xelatex)
mkindex=$(which makeindex)

input="$wd/ALMSGrammar.txt"
texfile="$wd/build/ALMSGrammar.tex"

INDICES=false
LABEL_SLOTS=false
CATEGORIES=false

while getopts "isc:" opt; do
  case $opt in
    i)
      INDICES=true
      ;;
    s)
      LABEL_SLOTS=true
      ;;
    c)
      CATEGORIES=true
      CATEGORY_LIST=$OPTARG
      ;;
    \?)
      echo "Invalid option: -$OPTARG" >&2
      echo "Usage:" >&2
      echo -e "   -i \tgenerate indices" >&2
      echo -e "   -s \tlabel slots" >&2
      exit 1
      ;;
  esac
done

#there musst be an easier way of doing this...
if $INDICES; then
    if $CATEGORIES; then
        if $LABEL_SLOTS; then
          $pyth "$wd/texify_grammar.py" "$input" "$texfile" "--indices" "--label-slots" "--categories" "$CATEGORY_LIST"
        else
          $pyth "$wd/texify_grammar.py" "$input" "$texfile" "--indices" "--categories" "$CATEGORY_LIST"
        fi
    else
        if $LABEL_SLOTS; then
          $pyth "$wd/texify_grammar.py" "$input" "$texfile" "--indices" "--label-slots"
        else
          $pyth "$wd/texify_grammar.py" "$input" "$texfile" "--indices" 
        fi
    fi
else
    if $CATEGORIES; then
        if $LABEL_SLOTS; then
          $pyth "$wd/texify_grammar.py" "$input" "$texfile" "--label-slots" "--categories" "$CATEGORY_LIST"
        else
          $pyth "$wd/texify_grammar.py" "$input" "$texfile" "--categories" "$CATEGORY_LIST"
        fi
    else
        if $LABEL_SLOTS; then
          $pyth "$wd/texify_grammar.py" "$input" "$texfile" "--label-slots"
        else
          $pyth "$wd/texify_grammar.py" "$input" "$texfile"
        fi
    fi
fi

pushd "$wd/build"

if $INDICES; then
  "$latex" ALMSGrammar.tex
  "$mkindex" tokens
  "$mkindex" categories
  "$mkindex" todo
  "$latex" ALMSGrammar.tex
fi

"$xelatex" ALMSGrammar.tex
popd

mv "$wd/build/ALMSGrammar.pdf" "$wd"
open "$wd/ALMSGrammar.pdf"

 

10 More Discussions You Might Find Interesting

1. Solaris

Passing arguments to a shell script from file while scheduling in cron

Hi, I have a shell script Scp_1.sh for which I have to pass 2 arguments to run. I have another script Scp_2.sh which in turns calls script Scp_1.sh inside. How do I make Scp_1.sh script to read arguments automatically from a file, while running Scp_2.sh? -- Weblogic Support (4 Replies)
Discussion started by: weblogicsupport
4 Replies

2. Shell Programming and Scripting

passing runtime arguments to a shell script...

hi I am new to shell programming.....my question is while running one of my shell program it stops in between to accept input from the user and proceeds furthur after giving input....I want to know whether I can set this input through some files so that the shell acript reads the input from the... (10 Replies)
Discussion started by: santy
10 Replies

3. Shell Programming and Scripting

Help required in passing multiple arguments from a shell script to a pl/sql block

Hi, hope everyone are fine. Please find my issue below, and I request your help in the same In a configuration file, i have a variable defined as below TEST = 'One','Two','Three' I am trying to pass this variable in to a sql script which is define in a pl/sql block as follows, In the... (1 Reply)
Discussion started by: ramakanth_burra
1 Replies

4. Shell Programming and Scripting

passing arguments to unix command or script inside tclsh

hi everobody kindly consider the following in tclsh I understand that we can do the following %exec UnixCmd arg1 arg2 but if I assinged the arguments to a list insde tclsh how can I use them back i.e %set ArgList %exec UnixCmd %exec Unixcmd $list %exec all the... (1 Reply)
Discussion started by: Blue_shadow
1 Replies

5. Programming

Passing arguments from java to script shell

Hello Please i want to pass parameter (the string s) to the shell script: Quote: String s="Hello"; Process process = Runtime.getRuntime().exec("sh script1.sh"); How can i do please? Thank you (0 Replies)
Discussion started by: chercheur857
0 Replies

6. Shell Programming and Scripting

Passing multiple arguments to a shell script

Hi Gurus, Need some help with the shell scripting here. #!/bin/ksh ps -ef | grep -i sample.ksh | grep -v grep > abc.txt if then echo "sample.ksh is executing" else echo "sample.ksh is not executing" fi (1 Reply)
Discussion started by: jayadanabalan
1 Replies

7. Shell Programming and Scripting

Passing arguments to a bash script

Hi, I wanted to pass an argument to a bash script. So that the argument is used inside the awk command inside the bash script. I know the noraml way of passing argument to a bash script as below : sh myScript.sh abc Inside the bash script i can use like this myArg1=$1 wc $myArg But... (8 Replies)
Discussion started by: shree11
8 Replies

8. Shell Programming and Scripting

Passing arguments to interactive program through bash script, here document

Dear Users, I have installed a standalone program to do multiple sequence alignment which takes user parameters to run the program. I have multiple sequence files and want to automate this process through a bash script. I have tried to write a small bash code but its throwing errors. Kindly... (13 Replies)
Discussion started by: biochemist
13 Replies

9. Shell Programming and Scripting

C shell script passing arguments problem.

I found something insteresting when I tested passing arguments into my scripts. My scripts is as below. % cat passarg.env #!/bin/csh echo "passarg: argv = $argv argv = $argv" passarg1.env $* % cat passarg1.env #!/bin/csh echo "passarg1: argv = $argv argvp=$argv" set str = "test... (5 Replies)
Discussion started by: bestard
5 Replies

10. UNIX for Beginners Questions & Answers

Passing Arguments to shell script from file is not working as expected.

Hi All, I have below simple shell script in cloudera quick start vm cenos 6 which copy file from source to destination. # file_copy.sh source_dir = ${source_dir} target = ${target_dir} cp source_dir target and my parameter file is like below #parameter_file.txt source_dir =... (4 Replies)
Discussion started by: Narasimhasss
4 Replies
AMC-PREPARE(1)						       Auto Multiple Choice						    AMC-PREPARE(1)

NAME
AMC-prepare - prepares working documents from LaTeX source file SYNOPSIS
auto-multiple-choice prepare --mode s --prefix project-dir mcq-source-file auto-multiple-choice prepare --mode b --data project-data-dir mcq-source-file DESCRIPTION
The AMC-prepare.pl command extracts working documents from the source file describing the multiple choice questionnaire. Information to be extracted depends on the --mode argument value. In any mode, the source filename must be given as an argument. o with "--mode s", AMC-prepare.pl makes the subject file (answer sheet to be printed and given to the students), the correction (single corrected answer sheet) and the positions file (file containing information about the positions of the boxes on the pages). The following arguments can be used: --out-sujet subject.pdf sets the subject file to build. --out-corrige corrected.pdf sets the correction to build. --out-calage calage.xy sets the positions file to build. --prefix directory this directory is only necessary if one or more of the three previous options are not used: default values are then directory/sujet.pdf, directory/corrige.pdf and directory/calage.xy. o with "--mode b", AMC-prepare.pl extracts scoring data from the source file. In this mode, the --data argument must be used (see below). The following optional arguments can be used in any mode: --with latex-engine gives the LaTeX engine (command) to be used. latex-engine can be pdflatex or xelatex for exemple. --filter filter sets the filter name to transform the MCQ source file into a LaTeX file. Native filters are latex (no change at all) and plain (source is an AMC-TXT file). --filtered-source mcq-latex-file gives the LaTeX file to make from the source file using specified filter. If omitted, a filename derived from mcq-source-file adding _filtered.tex is used. --n-copies n sets the number of copies to produce, overriding the number given in the LaTeX source file (first argument of the onecopy command). --debug file.log gives a file to fill with debugging information. --data project-data-dir sets the directory where the project's SQLite data files are. AUTHORS
Alexis Bienvenue <paamc@passoire.fr> Main author Jean Berard Translation from French Georges Khaznadar Translation from French COPYRIGHT
Copyright (C) 2008-2012 Alexis Bienvenue This document can be used according to the terms of the GNU General Public License, version 2 or later. Auto Multiple Choice 1.1.1 06/19/2012 AMC-PREPARE(1)
All times are GMT -4. The time now is 02:30 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy