I would like to NEVER execute a method unless an environment variable is defined, and if it is it MUST be a certain value, say "DOIT".  I know how to check the value of an environment variable, but I don't know how to check if it's defined and not defined by empty ("").  Thanks
47801
I've got a few Unix shell scripts where I need to check that certain environment variables are set before I start doing stuff, so I do this sort of thing:  if [ -z "$STATE" ]; then     echo "Need to set STATE"     exit 1 fi    if [ -z "$DEST" ]; then     echo "Need to set DEST"     exit 1 fi   which is a lot of typing. Is there a more elegant idiom for checking that a set of environment variables is set?  EDIT: I should mention that these variables have no meaningful default value - the script should error out if any are unset.
81621
If I write the following class:  public class Example {        int j;       int k;        public Example(int j, int k) {            j = j;            k = k;       }        public static void main(String[] args) {            Example exm = new Example(1,2);            System.out.println(exm.j);            System.out.println(exm.k);       }  }   The program compiles, but when I run the program, the main method will print out two 0s. I know that in order to say that I want to initialize the instance variables in the constructor I have to write:  this.j = j; this.k = k;   But if I don't write it, then which variable is evaluated (or considered) in the constructor (on the left and on the write hand side of the expressions)? Is is the argument or the instance variable? Does it make a difference?  Are there other cases where the use of this is obligatory?
92470
I'm wondering about instances when it makes sent to use #define and #if statements. I've known about it for a while, but never incorporated it into my way of coding. How exactly does this affect the compilation?     Is #define the only thing that determines if the code is included when compiled? If I have #define DEBUGme as a custom symbol, the only way to exclude it from compile is to remove this #define statement?
78588
How do you tell if a function in JavaScript is defined?  I want to do something like this  function something_cool(text, callback) {     alert(text);     if( callback != null ) callback(); }   But it gets me a     callback is not a function   error when callback is not defined.
83105
How does one check if a directory is already present in the PATH environment variable? Here's a start. All I've managed to do with the code below, though, is echo the first directory in %PATH%. Since this is a FOR loop you'd think it would enumerate all the directories in %PATH%, but it only gets the first one.   Is there a better way of doing this? Something like find or findstr operating on the %PATH% variable? I'd just like to check if a directory exists in the list of directories in %PATH%, to avoid adding something that might already be there.  FOR /F "delims=;" %%P IN ("%PATH%") DO (     @ECHO %%~P )
94278
I have a simple Python script that I want to stop executing if a condition is met.  For example:  done = True if done:     # quit/stop/exit else:     # do other stuff   Essentially, I am looking for something that behaves equivalently to the 'return' keyword in the body of a function which allows the flow of the code to exit the function and not execute the remaining code.
83501
The bash builtin command set, if invoked without arguments, will print all shell and environment variables, but also all defined functions. This makes the output unusable for humans and difficult to grep.  How can I make the bash builtin command set print only the variables and not the functions?  Are there other commands which prints only the shell variables, without the functions?  Note: bash differentiates between shell variables and environment variables. see here
3618
I have two examples of very simple batch files:  Assigning a value to a variable:  @echo off set FOO=1 echo FOO: %FOO% pause echo on   Which, as expected, results in:  FOO: 1  Press any key to continue . . .   However, if I place the same two lines inside an IF NOT DEFINED block:  @echo off IF NOT DEFINED BAR (     set FOO=1     echo FOO: %FOO% ) pause echo on   This unexpectedly results in:  FOO:  Press any key to continue . . .   This shouldn't have anything to do with the IF, clearly the block is being executed.  If I define BAR above the if, only the text from the PAUSE command is displayed, as expected.    What gives?    Follow up question: Is there any way to enable delayed expansion without setlocal?   If I were to call this simple example batch file from inside another, the example sets FOO, but only LOCALLY.   For example:   testcaller.bat   @call test.bat  @echo FOO: %FOO%  @pause    test.bat   @setlocal EnableDelayedExpansion  @IF NOT DEFINED BAR (      @set FOO=1      @echo FOO: !FOO!  )    This displays:   FOO: 1  FOO:  Press any key to continue . . .    In this case, it appears that I have to enable delayed expansion in the CALLER, which may be a hassle.
43400
So far I've been using public void run() {} methods to execute my code in Java. When/why might one want to use main() or init() instead of run()?
37598
After two years of C#, I'm now back to VB.net because of my current job. In C#, I can do a short hand testing for null or false value on a string variable like this:  if(!String.IsNullOrEmpty(blah)) {    ...code goes here }   however I'm a little confused about how to do this in VB.net.  if Not String.IsNullOrEmpty(blah) then    ...code goes here end if   Does the above statement mean if the string is not null or empty? Is the Not keyword operate like the C#'s ! operator?
22634
I've written a package that introduces a new environment:  \newfloat{foo}{htb}{bar}[chapter]   The package however can be used for articles, books, ... Since not all of these environments have the concept of chapter, on gets a No counter 'chapter' defined. exception.  How can I check if the chapter counter is defined?
33578
I'm learning the Python programming language and I've came across something I don't fully understand.   In a method like:  def method(self, blah):     def __init__(?):         ....     ....   What does self do?  What is it meant to be?  Is it mandatory?  What does the __init__ method do?  Why is it necessary? (etc.)  I think they might be OOP constructs, but I don't know very much.
56205
In Linux When I invoke python from the shell it replicates its environment, and starts the python process. Therefore if I do something like the following:  import os os.environ["FOO"] = "A_Value"   When the python process returns, FOO, assuming it was undefined originally, will still be undefined. Is there a way for the python process (or any child process) to modify the environment of its parent process?  I know you typically solve this problem using something like  source script_name.sh   But this conflicts with other requirements I have.
16499
If yes, on which operating system, shell or whatever?  Consider the following java program (I'm using java just as an example, any language would be good for this question, which is more about operation systems):  public class ExitCode {     public static void main(String args[]) {         System.exit(Integer.parseInt(args[0]));     } }   Running it on Linux and bash, it returns always values less equal 255, e.g. (echo $? prints the exit code of the previous executed command)  &gt; java ExitCode 2; echo $? 2  &gt; java ExitCode 128; echo $? 128  &gt; java ExitCode 255; echo $? 255  &gt; java ExitCode 256; echo $? 0  &gt; java ExitCode 65536; echo $? 0     EDITED: the (only, so far) answer below fully  explain what happens on UNIXes. I'm still wondering about other OSes.
124266
I know that VARIABLE=value creates an environment variable, and export VARIABLE=value makes it available to processes created by the current shell. env shows the current environment variables, but where do they live? What comprises an environment variable (or an environment, for that matter)?
116653
I have this:  If String.IsNullOrEmpty(editTransactionRow.pay_id.ToString()) = False Then     stTransactionPaymentID = editTransactionRow.pay_id 'Check for null value End If   Now, when editTransactionRow.pay_id is Null Visual Basic throws an exception. Is there something wrong with this code?
1778
I have a script which sets some environment variable to paths:  export VAR1=/home/xyz/DIR_IN_WHICH_THIS_FILE_EXISTS  export VAR2=$VAR1/abc/qwe  ...   Can I use something to get the DIR_IN_WHICH_THIS_FILE_EXISTS so that if I run this script from anywhere(any path) in the machine, it would set the same values to VAR1 depend on in which directory the script exists?  Please help