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
LATEXML(1p)						User Contributed Perl Documentation					       LATEXML(1p)

NAME
"latexml" - transforms a TeX/LaTeX file into XML. SYNOPSIS
latexml [options] texfile Options: --destination=file specifies destination file (default stdout). --output=file [obsolete synonym for --destination] --preload=module requests loading of an optional module; can be repeated --includestyles allows latexml to load raw *.sty file; by default it avoids this. --path=dir adds dir to the paths searched for files, modules, etc; --documentid=id assign an id to the document root. --quiet suppress messages (can repeat) --verbose more informative output (can repeat) --strict makes latexml less forgiving of errors --bibtex processes the file as a BibTeX bibliography. --xml requests xml output (default). --tex requests TeX output after expansion. --box requests box output after expansion and digestion. --noparse suppresses parsing math --nocomments omit comments from the output --inputencoding=enc specify the input encoding. --VERSION show version number. --debug=package enables debugging output for the named package --help shows this help message. If texfile is '-', latexml reads the TeX source from standard input. If texfile has an explicit extention of ".bib", it is processed as a BibTeX bibliography. OPTIONS AND ARGUMENTS
"--destination"=file Specifies the destination file; by default the XML is written to stdout. "--preload"=module Requests the loading of an optional module or package. This may be useful if the TeX code does not specificly require the module (eg. through input or usepackage). For example, use "--preload=LaTeX.pool" to force LaTeX mode. "--includestyles" This optional allows processing of style files (files with extensions "sty", "cls", "clo", "cnf"). By default, these files are ignored unless a latexml implementation of them is found (with an extension of "ltxml"). These style files generally fall into two classes: Those that merely affect document style are ignorable in the XML. Others define new markup and document structure, often using deeper LaTeX macros to achieve their ends. Although the omission will lead to other errors (missing macro definitions), it is unlikely that processing the TeX code in the style file will lead to a correct document. "--path"=dir Add dir to the search paths used when searching for files, modules, style files, etc; somewhat like TEXINPUTS. This option can be repeated. "--documentid"=id Assigns an ID to the root element of the XML document. This ID is generally inherited as the prefix of ID's on all other elements within the document. This is useful when constructing a site of multiple documents so that all nodes have unique IDs. "--quiet" Reduces the verbosity of output during processing, used twice is pretty silent. "--verbose" Increases the verbosity of output during processing, used twice is pretty chatty. Can be useful for getting more details when errors occur. "--strict" Specifies a strict processing mode. By default, undefined control sequences and invalid document constructs (that violate the DTD) give warning messages, but attempt to continue processing. Using --strict makes them generate fatal errors. "--bibtex" Forces latexml to treat the file as a BibTeX bibliography. Note that the timing is slightly different than the usual case with BibTeX and LaTeX. In the latter case, BibTeX simply selects and formats a subset of the bibliographic entries; the actual TeX expansion is carried out when the result is included in a LaTeX document. In contrast, latexml processes and expands the entire bibliography; the selection of entries is done during postprocessing. This also means that any packages that define macros used in the bibliography must be specified using the "--preload" option. "--xml" Requests XML output; this is the default. "--tex" Requests TeX output for debugging purposes; processing is only carried out through expansion and digestion. This may not be quite valid TeX, since Unicode may be introduced. "--box" Requests Box output for debugging purposes; processing is carried out through expansion and digestions, and the result is printed. "--nocomments" Normally latexml preserves comments from the source file, and adds a comment every 25 lines as an aid in tracking the source. The option --nocomments discards such comments. "--inputencoding="encoding Specify the input encoding, eg. "--inputencoding=iso-8859-1". The encoding must be one known to Perl's Encode package. Note that this only enables the translation of the input bytes to UTF-8 used internally by LaTeXML, but does not affect catcodes. In such cases, you should be using the inputenc package. Note also that this does not affect the output encoding, which is always UTF-8. "--VERSION" Shows the version number of the LaTeXML package.. "--debug"=package Enables debugging output for the named package. The package is given without the leading LaTeXML::. "--help" Shows this help message. SEE ALSO
latexmlpost, latexmlmath, LaTeXML perl v5.10.1 2009-06-11 LATEXML(1p)
All times are GMT -4. The time now is 05:09 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy