Sponsored Content
Full Discussion: file execution confusion
Top Forums UNIX for Dummies Questions & Answers file execution confusion Post 302596748 by methyl on Wednesday 8th of February 2012 08:02:56 AM
Old 02-08-2012
Firstly the script will execute as sh ./filename BUT because the script executes in a sub-shell a subsequent echo $APT_ORCHHOME will not show the new value of the environement variable.
When executed as . ./filename the script executes in the current environment and you can see the change. This is the same way your profile works.

Had to look really carefully to find out how you managed to execute this script at all. Because you are not the owner of the script and you are not in the same group as the script you can only read the script because it has read permissions for "other". Normally a shared script would have permissions 755 (but yours has 754).
Because there are no execute permissions for "other" that is why it failed to execute as ./filename.
When you tried to execute the script as just filename that failed to find the file because the directory is not in $PATH. However even if the directory was in $PATH it would still fail because there is no execute permissions for "other".

So! When you precede the command with either a real "sh" (sh filename) or are already running "sh" (. ./filename) you cannot automatically start a shell to execute a script file unless your account has execute permissions for that script file.

Last edited by methyl; 02-08-2012 at 09:32 AM..
 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

File system Confusion

Hello All, I administer my department server and now Im assigned the job of installing a new server. The old server has no home directory but the user accounts are managed using a script and they are partitioned in /fs/grad, /fs/ugrad, /fs/fac, /fs/alumni. But when I finger for a... (1 Reply)
Discussion started by: maybemedic
1 Replies

2. UNIX for Dummies Questions & Answers

confusion (file pointer and file descripter)

Hi everybody, i am newbie to unix and confused with file pointers and file descripters. could anyone help me to clear my doubts .. when we call unix system calls to create a file then we are dealing wih file descripters i think file descripters are also normals file as stored inhard disks... (1 Reply)
Discussion started by: johnray31
1 Replies

3. UNIX for Dummies Questions & Answers

Execution bit for a file

Hi Given read and write permission ( for group others etc) on any ordinary text file one can edit and view the file . In this case what role does an execution field play. (4 Replies)
Discussion started by: ss250041
4 Replies

4. Shell Programming and Scripting

file ownership confusion

Hello all, I have a script that runs on both the test and production box. The script is owned by a user (abcd for example) with permission set to 700. When this script is run as a root, the log file generated has owner and group as abcdowner and abcdgroup respectively. Now, when I run the same... (4 Replies)
Discussion started by: solaix14
4 Replies

5. Shell Programming and Scripting

File execution problem

hi all currently we are building lot of new servers(50+).What im looking for is a small piece of code that should help me in running a script that will configure company specific software in all the new boxes.For that currently we have to login to each and every new box manuallly and run that... (2 Replies)
Discussion started by: coolkid
2 Replies

6. Shell Programming and Scripting

Expect Issue Serial Forground Execution vs Concurrent Background Execution

I have an expect script that interrogates several hundred unix servers for both access and directories therein using "ssh user@host ls -l /path". The combination of host/path are unique but the host may be interrogated multiple times if there are multiple paths to test. The expect script is run... (2 Replies)
Discussion started by: twk
2 Replies

7. UNIX for Dummies Questions & Answers

Remote file execution

Hello, I'm new to scripting so, sorry if this is a dumb question. What's the best way to execute a .sh file remotely? I want to log into server "b" from server "a" & run a script. "./scriptname.sh". At this point, all I'm looking to do is a simple ls -la > output.txt within the script to capture... (3 Replies)
Discussion started by: crunch10c
3 Replies

8. Shell Programming and Scripting

check file exist before execution

Hi , I have a scripts which run at every 1 min and do some job. this scripts look for the file in the directory and move in the other directory. I want to write a line which forst check if the *.LOG file exist in the directory if *.LOG exist then do for i in *.LOG load ... (7 Replies)
Discussion started by: guddu_12
7 Replies

9. UNIX for Dummies Questions & Answers

File System and Storage Array Confusion

Hi Friends, I have a host(Suse Linux 10.4) which has 2 luns presented from 2 different arrays HP eva and xp. we are planning to migrate hp eva to 3par. When i look for physical volume i see /dev/dm-4, /dev/dm-5, /dev/dm-7and when i look for multipath -ll i see dm-8,dm-9,dm-7. So i can't confirm... (6 Replies)
Discussion started by: munna529
6 Replies

10. Shell Programming and Scripting

Execution of loop :Splitting a single file into multiple .dat file

hdr=$(cut -c1 $path$file|head -1)#extract header”H” trl=$(cut -c|path$file|tail -1)#extract trailer “T” SplitFile=$(cut -c 50-250 $path 1$newfile |sed'$/ *$//' head -1')# to trim white space and extract table name If; then # start loop if it is a header While read I #read file Do... (4 Replies)
Discussion started by: SwagatikaP1
4 Replies
LUA(1)							      General Commands Manual							    LUA(1)

NAME
lua - Lua interpreter SYNOPSIS
lua [ options ] [ script [ args ] ] DESCRIPTION
lua is the stand-alone Lua interpreter. It loads and executes Lua programs, either in textual source form or in precompiled binary form. (Precompiled binaries are output by luac, the Lua compiler.) lua can be used as a batch interpreter and also interactively. The given options (see below) are executed and then the Lua program in file script is loaded and executed. The given args are available to script as strings in a global table named arg. If these arguments contain spaces or other characters special to the shell, then they should be quoted (but note that the quotes will be removed by the shell). The arguments in arg start at 0, which contains the string 'script'. The index of the last argument is stored in arg.n. The arguments given in the command line before script, including the name of the interpreter, are available in negative indices in arg. At the very start, before even handling the command line, lua executes the contents of the environment variable LUA_INIT, if it is defined. If the value of LUA_INIT is of the form '@filename', then filename is executed. Otherwise, the string is assumed to be a Lua statement and is executed. Options start with '-' and are described below. You can use '--' to signal the end of options. If no arguments are given, then -v -i is assumed when the standard input is a terminal; otherwise, - is assumed. In interactive mode, lua prompts the user, reads lines from the standard input, and executes them as they are read. If a line does not contain a complete statement, then a secondary prompt is displayed and lines are read until a complete statement is formed or a syntax error is found. So, one way to interrupt the reading of an incomplete statement is to force a syntax error: adding a ';' in the middle of a statement is a sure way of forcing a syntax error (except inside multiline strings and comments; these must be closed explicitly). If a line starts with '=', then lua displays the values of all the expressions in the remainder of the line. The expressions must be separated by commas. The primary prompt is the value of the global variable _PROMPT, if this value is a string; otherwise, the default prompt is used. Similarly, the secondary prompt is the value of the global variable _PROMPT2. So, to change the prompts, set the corresponding variable to a string of your choice. You can do that after calling the interpreter or on the command line (but in this case you have to be careful with quotes if the prompt string contains a space; otherwise you may confuse the shell.) The default prompts are "> " and ">> ". OPTIONS
- load and execute the standard input as a file, that is, not interactively, even when the standard input is a terminal. -e stat execute statement stat. You need to quote stat if it contains spaces, quotes, or other characters special to the shell. -i enter interactive mode after script is executed. -l name call require('name') before executing script. Typically used to load libraries. -v show version information. SEE ALSO
luac(1) http://www.lua.org/ DIAGNOSTICS
Error messages should be self explanatory. AUTHORS
R. Ierusalimschy, L. H. de Figueiredo, and W. Celes $Date: 2006/01/06 16:03:34 $ LUA(1)
All times are GMT -4. The time now is 08:43 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy