Originally posted by yls177 hi, do shells in unix understand the language of perl?
No. Perl understands Perl.
You will see in many perl scripts that the first line of code is often something along the lines of :
This tells the shell script to use the perl parser for the perl script.
Quote:
Originally posted by yls177
learning perl will make u a ultimate shell programmer?
thanks
No. While Perl does contain a lot of similiarities to shell scripting, it is in it's own little world. If you want to be an ultimate shell scripter, then you should pick a popular shells such as Korn Shell (ksh) (heartily endorsed by Perderabo) or Bourne Again Shell (bash) and have at it. There are many reference guides on the net to shell scripting.
Hey Guys i am new to Unix and i have downlaoded Cygwin for Windows and deleted it.
I was just wondering is there any good shells like that for windows that just as good
thanks for your time
][ce (1 Reply)
Solaris
Newbie here to scripting in UNIX/SOLARIS.
What I am looking to do is, once the script is
executed, switch to /bin/bash shell and continue
to execute the script.
The problem I run into is once the script switches to the Bash
shell, the script stops, and does not execute the... (2 Replies)
I understand that in order to run basic unix commands I would normally type at the prompt, I would have to use the following format
system(ls -l);
or
exec(ls -l);
But when I actually try to use the command, the script fails to compile and keeps telling me there is an error with this line. ... (1 Reply)
How do I know what type of shells are available in my Unix system? Are there a single command or environment variable that can let me find that out?
Best regards,
John Chan (7 Replies)
hi. im new here. im taking a UNIX OS class and im in need of some help
how do i change my shell in UNIX?
for homework i need to edit the tcshrc file (to include aliases) in my home directory but its not there. so i think switching shells will create the file. am i correct?
I'm using PuTTy.... (1 Reply)
i need to ftp a file from windows to a unix machine by executing a sript(perl/shell/php) from that unix machine.i can also use HTML and javascript to build forms. (3 Replies)
hello All,
I just purchased a used copy of "UNIX Shells by Example" by Ellie Quigley. The CD is not in the back. I googled the world but the files dont seem to be available for download anywhere. Does anyone out there have them. It would be much appreciated if someone can email them to me.
... (1 Reply)
so in unix this command works works and shows me a list of directories
find . -name \*.xls -exec dirname {} \; | sort -u | > list.txt
but when i try running a perl script to run this command
my $query = 'find . -name \*.xls -exec dirname {} \; | sort -u | > list.txt';... (2 Replies)
I appreciate if someone answer this question for my learning purpose:
Given a filename structure of a COUNTRY CODE, file type, date (YYYYMMDD) and two digit attempt number with an extension of ".dat", write a UNIX shells script to echo out the date value.
Example: ... (1 Reply)
Can someone help by advising hw to built myself strong on logic building in UNIX shell scripting. I find it very difficult
Sent from my iPhone using Tapatalk (4 Replies)
Discussion started by: Vijaykannan T
4 Replies
LEARN ABOUT CENTOS
shell-quote
SHELL-QUOTE(1) User Contributed Perl Documentation SHELL-QUOTE(1)NAME
shell-quote - quote arguments for safe use, unmodified in a shell command
SYNOPSIS
shell-quote [switch]... arg...
DESCRIPTION
shell-quote lets you pass arbitrary strings through the shell so that they won't be changed by the shell. This lets you process commands
or files with embedded white space or shell globbing characters safely. Here are a few examples.
EXAMPLES
ssh preserving args
When running a remote command with ssh, ssh doesn't preserve the separate arguments it receives. It just joins them with spaces and
passes them to "$SHELL -c". This doesn't work as intended:
ssh host touch 'hi there' # fails
It creates 2 files, hi and there. Instead, do this:
cmd=`shell-quote touch 'hi there'`
ssh host "$cmd"
This gives you just 1 file, hi there.
process find output
It's not ordinarily possible to process an arbitrary list of files output by find with a shell script. Anything you put in $IFS to
split up the output could legitimately be in a file's name. Here's how you can do it using shell-quote:
eval set -- `find -type f -print0 | xargs -0 shell-quote --`
debug shell scripts
shell-quote is better than echo for debugging shell scripts.
debug() {
[ -z "$debug" ] || shell-quote "debug:" "$@"
}
With echo you can't tell the difference between "debug 'foo bar'" and "debug foo bar", but with shell-quote you can.
save a command for later
shell-quote can be used to build up a shell command to run later. Say you want the user to be able to give you switches for a command
you're going to run. If you don't want the switches to be re-evaluated by the shell (which is usually a good idea, else there are
things the user can't pass through), you can do something like this:
user_switches=
while [ $# != 0 ]
do
case x$1 in
x--pass-through)
[ $# -gt 1 ] || die "need an argument for $1"
user_switches="$user_switches "`shell-quote -- "$2"`
shift;;
# process other switches
esac
shift
done
# later
eval "shell-quote some-command $user_switches my args"
OPTIONS --debug
Turn debugging on.
--help
Show the usage message and die.
--version
Show the version number and exit.
AVAILABILITY
The code is licensed under the GNU GPL. Check http://www.argon.org/~roderick/ or CPAN for updated versions.
AUTHOR
Roderick Schertler <roderick@argon.org>
perl v5.16.3 2010-06-11 SHELL-QUOTE(1)