Try echo $SHELL to find your shell. Or just ps. "which shell" looks for a command named shell, which isn't much help.
How about this, with -name to avoid the grep. This checks in the filename. -path would check in the file path instead.
The IFS avoids having read split on anything, and the -r prevents it from trying to evaluate backslashes. It's a good habit when you want read to give you literal, unchanged input...
One caveat: Variables you set inside the "while" won't be set outside the loop. The | puts the loop into a separate, independent subshell.
Yes, I know. ksh yes, absolutely-anything-other-than-ksh no.
This cuts both ways incidentally. It's possible for ksh to break a script from variables behind a pipe having a different scope than specified by POSIX.
A subshell environment shall be created as a duplicate of the shell environment, except that signal traps that are not being ignored shall be set to the default action. Changes made to the subshell environment shall not affect the shell environment. Command substitution, commands that are grouped with parentheses, and asynchronous lists shall be executed in a subshell environment. Additionally, each command of a multi-command pipeline is in a subshell environment; as an extension, however, any or all commands in a pipeline may be executed in the current environment. All other commands shall be executed in the current shell environment.
So, variable assignments in a while loop in a pipeline are allowed, but not required, to be visible in the current shell execution environment after the pipeline terminates.
The last element of a pipeline is run in the current shell execution environment in ksh.
The last element of a pipeline is run in a subshell environment in bash.
On this point, both are OK according to the standard.
Hi guys!
Kind of new to bash scripting and now I'm stuck.
I need to curl with these variables:
"{ \"nodename\": \"$1\", \"ipaddress\": \"$2\", \"poolname\": \"$3\", \"port\": \"$4\", \"loadbalancer\" : \"$5\" }"
and my input_file.txt contains
server001 10.10.10.01 serverpool1 80... (4 Replies)
i have executed the following command in terminal
find /Users/vasu -name "*.txt" -print
and i am getting the result
/Users/vasu/file1.txt
/Users/vasu/file2.txt
/Users/vasu/file3.txtbut while i was trying to execute the same in the script it is not working,I tried with below logic in... (2 Replies)
Hello friends,
I want a command to print the reult files from find command into a text file.:)
Iam looking from forum memebers. PLZ help me.ASAP
Thanks in Advance,
Siva Ranganath CH (5 Replies)
HI ,
I am trying to wite a script that will prompt me saying " what is path that you want to find ?". once i specify the path, the script should put this path in the find command mentioned below and execute the script:
find <path> -ctime +200 -type f -exec ls -l {} \;
for example :
... (7 Replies)
Hi,
I am triying to make sure that there exists only one file with the pattern abc* in path /path/. This directory is having many huge files. If there is only one file then I have to take its complete name only to use furter in my script.
I am planning to do like this:
if ; then... (2 Replies)
I have the following statement in script:
find ${LANDING_FILE_DIR}${BTIME_FILENAME_PATTERN2} -print | while read file; do
...
done
When there are no files located by the find comand it returns:
"find: bad status-- /home/rnitcher/test/....." to the command line
How do I get control in... (3 Replies)
Hello
I was wandering if I can combine find command in side for each loop in unix
the main propose is to change some thing in files from several types and not all of them
is this possible ? (on liner script? )
tnx for the helppers (3 Replies)
I need to do the following:
1) find files in certain directories that have todays date stamp
2) use these files as input arguements into another command (1 Reply)