On 08/13/2010 02:27 AM, C Anthony Risinger wrote:
On Fri, Aug 13, 2010 at 2:10 AM, mike rosset<schizoid29@gmail.com> wrote:
Dave you need to quote your variables ie.
var="*pacman*"; echo "$var"
so printf "Search: %s\n" $myvar should read
printf "Search: %s\n" "$myvar"
On Thu, Aug 12, 2010 at 11:39 PM, David C. Rankin <drankinatty@suddenlinkmail.com> wrote:
On 08/13/2010 01:32 AM, David C. Rankin wrote:
On 08/13/2010 01:15 AM, mike rosset wrote:
quote command arguments like you would normally do.
ie. $ myscript "*pacman*"
Nope:
01:32 nirvana:~/scr/arch/tmp> ./tst.sh "pacman*" Search: pacman-foo
Mike,
I'm sorry, that was a short answer. My thoughts in this situation were that partial or soft-quoting "" would not offer any additional protection that full or hard-quoting '' did not already provide. From ABS:
partial quoting [double quote]. "STRING" preserves (from interpretation) most of the special characters within STRING.
full quoting [single quote]. 'STRING' preserves all special characters within STRING. This is a stronger form of quoting than "STRING".
I'd run across this a couple of days ago on the pacman -Ss reformat script work.
yes what mike said is correct. the best way to remember/catch stuff like this, is to always remember that bash variables are almost pure, direct "text-replacement"; by this i mean the contents of the variable are substituted in place of the variable, and _then_ the expression is evaluated. so, in your case, this line:
printf "Search: %s\n" $myvar
expanded/substituted as:
printf "Search: %s\n" pacman*
which expanded yet again by bash to:
printf "Search: %s\n" pacman-foo
before finally being passed to printf().
C Anthony
Guys, Oh 5h17!! (said while wearing the dunce cap). When at first I got stuck on this, I created a new directory and copied the script into it along with pacman-foo for testing. I had my editor open and the script up via sftp to the server. Some idiot never closed the original script and re-opened the copy of the script in the new tmp subdirectory... So all the quoting, etc. I did, never changed the script I was running :-( That's it -- I'm going to bed.. Thanks for the help. P.S. full picture: Arch Server ----------- editing ================= | me on my |----------------->| original - dir 1| | laptop |---------------\ | | | ----------- running ->| copy in - dir 2| ================= it's good to laugh at yourself every once in a while :p -- David C. Rankin, J.D.,P.E. Rankin Law Firm, PLLC 510 Ochiltree Street Nacogdoches, Texas 75961 Telephone: (936) 715-9333 Facsimile: (936) 715-9339 www.rankinlawfirm.com