From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 1415 invoked from network); 2 Sep 2021 20:27:02 -0000 Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368) by inbox.vuxu.org with ESMTPUTF8; 2 Sep 2021 20:27:02 -0000 ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20210803; t=1630614422; b=n+gBlwcOrlNC8Ejlj+CRo2vX3QgqobcRSU02Kgm0b6SOCDzJ1S8M9wkoupiKK6uIGZ09m4DwEx 2ZTcvtzKQG69UC0SJn9dsLDNk66/SQ5Ju8rARu6UHEKzcV13OkOXGU5GlQ0nC9rUrpzBnJRUNG 3DsZeNPoyZ2VQDga9G+CXvN9sLT67hQZRmbGSlzvFFNnVFmrMztCOzFTl/7f7j19Y/RLEoUn9q 7NPbZjjkuZ4UU1H5dFXV3nAmqGupuI9QXNXl3jkSaa4l6/qzmeFcgnN3QCO1cbBIuNUxsXdHPe EtMKdfFMt/2DRZic0zff9n6gXcWdNTei67evFMwg9MjbPQ==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (esa04.ucs.mun.ca) smtp.remote-ip=134.153.136.24; dmarc=none header.from=mun.ca; arc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed; d=zsh.org; s=rsa-20210803; t=1630614422; bh=k/U0MufLOrXpUwWL0wQECNJ69EqP+8uY3V80JUg98L8=; h=List-Archive:List-Owner:List-Post:List-Unsubscribe:List-Subscribe:List-Help: List-Id:Sender:Content-Transfer-Encoding:Content-Type:MIME-Version: Message-ID:Date:Subject:To:From:DKIM-Signature; b=Min35c+KCY3+bGYUHqKNRiySFL5uYQDKw/LZPpomEA0n/PGlox3dafBh6wDYtGw9Zz7O58SN1S nbPx668IkKuQBgWSjR9GTIBC9+BVmhUQ4R5jIi62PpO2Kop2y2WtralUnx1aA5btoiQ80VIBwH nQRD2onXs05GDmifgy3JqrcoWQC6RgBiIoq9XdcLj5wp0Fh20nlmnYrkLgVwDhncjDDCv/9mYq h0xTI54o75xIiXQfSn05q27EuASvQx41K8oZKFW7WY1Ez9IjdWyMbTMByOsn3K+nKVIKFH3dWB wBXYyVjVPx9L+oUEMRcch6IR/FHM9T9pWmybROBU5D2ENQ==; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=zsh.org; s=rsa-20210803; h=List-Archive:List-Owner:List-Post:List-Unsubscribe: List-Subscribe:List-Help:List-Id:Sender:Content-Transfer-Encoding: Content-Type:MIME-Version:Message-ID:Date:Subject:To:From:Reply-To:Cc: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References; bh=hA+HPCWE07TEGGXkzuDQR7OOH+EcLYEt0v61+RZsNtw=; b=cmEtj68UbhJi0ww+d9pnXfNw9X 9yV8ewbjk2mCiRjCggfodbyPAcZnVUhpXzlY197CUU6KbyOZ7DUbnqdpJmO50IwQ6KB/fYOhyUoTT /5BIKjdfTEYmN0FrDbT5X6nQuzYoOZYM1uvU8r8Ix3bWnuwZFr5NEKE8ryeQB4y/wgj33aQj863nw /AUtGUP2mvi4uIfjrdBpzOFm6JemkpP2NEJFYOxRQ/E3KwNla9FjUyNmtIlkzaCCVnPmwIsmYN1nY lW8Ml55Z5FJLKPexMiBEDI5KL7dZnmD7sBHxKGsdY7420yNkTqT8nqOdGqq/gnEcKmuTr90prc8B2 OvfL15mA==; Received: from authenticated user by zero.zsh.org with local id 1mLtIc-00020I-CZ; Thu, 02 Sep 2021 20:27:02 +0000 Authentication-Results: zsh.org; iprev=pass (esa04.ucs.mun.ca) smtp.remote-ip=134.153.136.24; dmarc=none header.from=mun.ca; arc=none Received: from esa04.ucs.mun.ca ([134.153.136.24]:61572) by zero.zsh.org with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256) id 1mLrPi-000KgF-3s; Thu, 02 Sep 2021 18:26:15 +0000 IronPort-SDR: aT6X9EiQPYry1Po5EJ1uMIsXJHLeblM9pZVtNlm5aQBxqzeCLUZNhIYpaWczeggcxQSFkLn42H 06Gj+qeyPY7NkLhS29YEnHPKrkQDrMi9vVQDt5gMixFguMnledsjQvW4CIxnZ4sVsFjYzDcbtm AAZI7S8Nm20tmwdb5SfQOq8CdgVQYTCdEemfhD/OSBTrskAmh+GR4lO6FHlMKfZHZ765pY8Xrh EjjLUiqDTSHG6SOdlnM1QeN279EUXqb/8LoC89Hi+2RgTFlfPzBmPGkJSXCClw8OH7GHwxnbA/ XWw= IronPort-HdrOrdr: =?us-ascii?q?A9a23=3AjTc3pqs08euomEStr5rxuN/g7skCxIMji2?= =?us-ascii?q?hC6mlwRA09TyXGra2TdaUgvyMc1gx7ZJh5o6H6BEGBKUmslqKdkrNhR4tKPT?= =?us-ascii?q?OW9FdASbsP0WKM+UyGJ8STzI9gPOJbAtBD4b7LfBdHZKTBkW+F+r8bqbHpnp?= =?us-ascii?q?xAx92utkuFJjsaCZ2Imj0JbjpzZXcGITWua6BYKLOsou584xawc3Ueacq2Ql?= =?us-ascii?q?MfWfLYmtHNnJX6JTYbGh8O8mC1/HKVwY+/NyLd8gYVUjtJz7tn23PCiRbF6q?= =?us-ascii?q?KqtOz+4gPA1lXU849dlLLau5t+7Y23+4sowwfX+0OVjbdaKvm/VfcO0aaSAW?= =?us-ascii?q?MR4ZvxStEbToJOAj3qDziISFDWqnTdOX4VmgPfIBmj8DXeSIXCNU0HItsEio?= =?us-ascii?q?RDfhTD7U08+Nl6zaJQxmqc84FaFBXagU3GlpD1vr5R5zmJSFcZ4JguZkZkIM?= =?us-ascii?q?IjgX5q3P4i1VIQFI1FEDPx6YghHuUrBMbA5OxOeVffa3zCpGFgzNGlQ3x2R3?= =?us-ascii?q?69MwI/k93Q1yITkGFyzkMeysBalnAc9IglQ50B4+jfKKxnmLxHU8dTZ6NgA+?= =?us-ascii?q?UKR9exFwX2MFnxGXPXJU6iGLAMOnrLpZKy6LIp5PuycJhN15c2kISpaiIuiY?= =?us-ascii?q?fzQTObNSSq5uwHzvngehTNYd3d8LAq23EigMyDeFPCC1zydGwT?= X-IronPort-AV: E=Sophos;i="5.85,262,1624329000"; d="scan'208";a="65103666" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from cpe00fc8db7a323-cm00fc8db7a320.cpe.net.cable.rogers.com (HELO pyrope.local) ([174.117.202.255]) by smtp04.ucs.mun.ca with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Sep 2021 15:56:10 -0330 User-agent: mu4e 1.5.6; emacs 27.2 From: Roger Mason To: zsh-users@zsh.org Subject: zparesopts odd behaviour Date: Thu, 02 Sep 2021 15:56:07 -0230 Message-ID: MIME-Version: 1.0 Content-Type: text/plain Content-Transfer-Encoding: quoted-printable X-Seq: 27071 Archived-At: X-Loop: zsh-users@zsh.org Errors-To: zsh-users-owner@zsh.org Precedence: list Precedence: bulk Sender: zsh-users-request@zsh.org X-no-archive: yes List-Id: List-Help: List-Subscribe: List-Unsubscribe: List-Post: List-Owner: List-Archive: Hello, Given this script: #!/usr/local/bin/zsh -f ELKVER=3Delk-7.1.14 floats=3D($(awk '/! default values !/{flag=3D1;next}/! read fro= m elk.in !/{flag=3D0}flag' \ ~/Software/Elk/$ELKVER/src/readinput.f90 \ | awk '!/!/' | awk '!/^if/'| awk '!/^allocate/' | awk '!/:/' \ | awk '{gsub(/ /,""); print}' | sed 's/[(]/_/g;s/:/_/g;s/)//g;s/,_/all_/g;s= /,\([0-9]\)/_\1/g' | sort \ | awk '{gsub(/=3D/," "); print}' | awk '$2 ~ /[0-9]+(\.)[0-9]*/ {print "-"$= 1":"}')) echo "$floats" #zparseopts -D -E -A elkfloats - -sc: -sc1: -sc2: -sc3: zparseopts -D -E -A elkfloats - ${floats} OPTSELK=3D"" for key value in "${(@kv)elkfloats}"; do k=3D$(echo $key | tr -d '-') ${k}=3D${elkfloats[$key]} 2>/dev/null # Discard error message: command = not found: if [[ $k =3D=3D sc* ]];then # sc is used internally in the elk code vs= elk.in. k=3D$(echo $k | sed 's/sc/scale/g') # Should work on sc1, sc2 & sc3. # echo "$k =3D $value" fi OPTSELK+=3D"$k\n $value\n\n" done echo "$OPTSELK" exit 10 Called like this: ./testopts.sh --sc1 5.5 --sc2 5.5 --sc3 8.0 --sc 1.5 I get this output: -afindscf: -amixpm_1: -amixpm_2: -avec_1_1: -avec_2_2: -avec_3_3: -avecu_1_= 1: -avecu_2_2: -avecu_3_3: -befvit: -broydpm_1: -broydpm_2: -c_tb09: -chgex= s: -deapwlo: -deltaem: -deltaph: -deltast: -demaxbnd: -dengy0: -dlefe: -dnc= gga: -dtimes: -ecvcut: -ehfb: -emaxelnes: -emaxrf: -ephscf_1: -ephscf_2: -e= psband: -epschg: -epsdev: -epsefm: -epsefvit: -epsengy: -epsforce: -epslat:= -epsocc: -epspot: -epsstress: -esccut: -evaltol: -fracinr: -fxclrc_1: -fxc= lrc_2: -gmaxrf: -gmaxvr: -hkmax: -hmaxvr: -hybridc: -mstar: -mustar: -nempt= y0: -nrmtscf: -q0cut: -radkpt: -rdmalpha: -rdmtemp: -reducebf: -rgkmax: -rm= tall: -rmtdelta: -rndatposc: -rndavec: -rndbfcmt: -rndbfcu: -rndevt0: -sc1:= -sc2: -sc3: -sc: -scissor: -scu1: -scu2: -scu3: -scu: -socscf: -solscf: -s= qados_3: -swidth: -sxcscf: -t0tdlr: -tau0atp: -tau0latv: -tauefm: -taufsm: = -tauftm: -tauoep_1: -tauoep_2: -taurdmc: -taurdmn: -tdphi: -thetamld: -tria= l_step: -tstime: -vclp2d_1_1: -vclp2d_2_2: -vclp3d_1_1: -vclp3d_2_2: -vclp3= d_3_3: -vhmat_1_1: -vhmat_2_2: -vhmat_3_3: -wmaxgw: -wphcut: -wplot_1: -wpl= ot_2: -wsfac_1: -wsfac_2: scale 1.5 The output I expect is: scale 1.5 scale1 5.5 scale2 5.5 scale3 8.0 The option names are extracted from variable names in a piece of fortran code. The line 'echo floats' in the script is just for debugging, it verifies that the options are being parsed correctly from that code. If I call the script thus: ./testopts.sh --sc1 5.5 --sc2 5.5 --sc3 8.0 the output (without the debugging line) is: scale 3 When called thus: ./testopts.sh --sc1 5.5 --sc2 5.5 I get scale 2 It looks like zparseopts is confusing the option and the option argument, but perhaps something else is going on. I'm running zsh-5.8 on FreeBSD 11.4. I appreciate any help in getting this to work correctly. Thanks, Roger