Ticket UUID: | 1546827 | |||
Title: | exec fails on explicit quotes | |||
Type: | Bug | Version: | obsolete: 8.4.12 | |
Submitter: | suchenwi | Created on: | 2006-08-25 18:24:18 | |
Subsystem: | 27. Channel Types | Assigned To: | aku | |
Priority: | 5 Medium | Severity: | Minor | |
Status: | Closed | Last Modified: | 2013-11-12 12:36:32 | |
Resolution: | Wont Fix | Closed By: | dkf | |
Closed on: | 2013-11-12 12:36:32 | |||
Description: |
Win XP, 8.4.12 % exec echo {"a b"} "a b\ % exec echo {"a,b"} ,b" (the last also beeped, probably taking \a too literally) Background: we need to call cacls \some\file /x /y "Authorized Users":f and I could no way to do this with exec - the last word seems always to go wrong. | |||
User Comments: |
dkf added on 2012-05-30 17:35:56:
Since this is tangled up in the mess of Windows' command line parsing (bottom line: each program can do its own whimsical thing, and too many do exactly that) I see no prospect of ever making this much better than what we have now. It's a horrible compromise. mpc_janssen added on 2006-09-22 16:38:38: Logged In: YES user_id=1463011 If it is possible to use additional extensions, TWAPI can be used to achieve the desired effect. package require twapi ::twapi::create_process {} -cmdline {cacls c:\test.txt /P "Authorized Users":f} -showwindow hidden suchenwi added on 2006-08-28 14:51:39: Logged In: YES user_id=1478027 Even simpler workaround (found on the Wiki): exec cmd << "echo \"a,b\"\n" dkf added on 2006-08-28 01:09:30: Logged In: YES user_id=79902 suggested workaround: write a temporary batch file that contains the awkward command invokation, and run that. dgp added on 2006-08-27 10:46:39: Logged In: YES user_id=80530 This only happens on Windows, where apparently there's no good interface to pass argument words separately. |