csh quoting enigma


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting csh quoting enigma
# 1  
Old 02-11-2009
csh quoting enigma

(no, i can't switch shells, although i'd love to. yes, i have read http://www.grymoire.com/Unix/CshTop10.txt.)

i finally managed to get an alias working the way i want it to, but i don't understand how one part of it works (highlighted in red):
Code:
alias log ' \\
    set x=`echo \!:1 | /bin/sed -e "s/\([^_]\)/\1*\{_,\}/g" -e "s|\(.*\)|$L/\1*|"`; \\
    80; ls -1hAFL $x; 80; set x=`echo $x | /bin/awk '\''{ print $1 }'\''`; \!:2* $x;'

i've done plenty of googling, but i don't get it. what does the escaped single-quote even mean? is the outer-most single-quote (the entire alias expression) closed by the first red single-quote, or is the first red single-quote the start of another set of weirder quotes, or... Smilie
# 2  
Old 02-17-2009
It's there to protect the `command` subexpression from being evaluated at the time the alias is created. You want this command to actually run when the alias is executed. The { print $1 } is a tiny awk script which must be quoted to prevent $1 from being evaluated by the shell at run-time.

By the way, you could avoid these funny quotes by using cut:
Code:
set x=`echo $x|cut -d " " -f 1`

Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Help with Bash quoting

I am trying to write a BASH script that will prompt a user to enter a number of days, then calculate the date. My problem is the date command uses single or double quotes. For Example.. date -d "7 days" Here is an example of some same code I am trying to work through. echo "when do you... (4 Replies)
Discussion started by: javajockey
4 Replies

2. Shell Programming and Scripting

Quoting the values in second field

Hi, I have got a file comp_data containing the below data : 38232836|9302392|49 39203827|8203203,3933203|52 72832788|567,3245,2434324|100 This file can have many rows like shown above. I want the values separated by "," in second column(taking "|" as delimiter) to be in quotes. These... (2 Replies)
Discussion started by: msabhi
2 Replies

3. Shell Programming and Scripting

Quoting / interface question

Hi, My first shell script is one that prints the five largest directories in a given directory. My current effort is as follows, it gives me the output I'd like, but I have to quote a globbed pathname, which seems wrong: #!/bin/sh du -hs $1 | sort -rn | head -n 5 And I must invoke... (2 Replies)
Discussion started by: aardymir
2 Replies

4. Shell Programming and Scripting

Quoting Characters

I have this data how do i add ' ' to them like '-AAL00L' , '-BBE4577' , 'ABC' -AAL00L -BBE4577 ABC (5 Replies)
Discussion started by: dinjo_jo
5 Replies

5. Shell Programming and Scripting

awk quoting problem

I think this has to do with the quoting, I just feel I've been looking at it too long. Thanks ~T prompt> cat my.awk BEGIN{"date +%d%b%Y.%H%M%S" | getline sDate} { if (substr($0,151,1) ~ /6/ ) print >> sDate".NEW_ORDER.dat" # print >> sDate # note this works to output the contents to sDate,... (2 Replies)
Discussion started by: tcstuff
2 Replies

6. Shell Programming and Scripting

quoting question

hi guys, i have a question related to quoting but i am not sure how to formulate it... lets say we want to simulate the following shell actions cd ~/project-dir ctags /home/work/folder1/*.sh /home/work/folder2/*.sh /home/work/folder3/*.sh so i make the following script buidtags.sh ... (2 Replies)
Discussion started by: aegis
2 Replies

7. Shell Programming and Scripting

csh failing to call an 2 embedded csh script

I have an extraordinary problem with a csh script.....(feel free to berate the use of this but I'm modifying an existing bunch of them) Anyway, I have a master csh script which in turn calls a second csh script. This second csh script is below. Within this second script are two compiled C++... (1 Reply)
Discussion started by: pollsizer
1 Replies

8. Shell Programming and Scripting

Quoting problem with `date`

I'm trying to take the command `date` giving me: Fri Feb 22 09:23:52 EST 2008 and using some command take out the rest of the string leaving me with "Fri Feb 22" any help appreciated hopefully thanks in advance (3 Replies)
Discussion started by: cleansing_flame
3 Replies

9. UNIX for Dummies Questions & Answers

Wildcards and quoting

Hi All In a script, I want a user to enter 4 characters, these can be a mix of letters (uppercase and lowercase) and numbers. In this example $var represents what the user has entered. eg $var can be A9xZ, 3DDL, bbHp .........etc I need to check that the user has only entered characters... (2 Replies)
Discussion started by: Bab00shka
2 Replies
Login or Register to Ask a Question