From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from ma1-aaemail-dr-lapp02.apple.com (ma1-aaemail-dr-lapp02.apple.com [17.171.2.68]) by mx.groups.io with SMTP id smtpd.web11.3798.1581365521827748292 for ; Mon, 10 Feb 2020 12:12:02 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@apple.com header.s=20180706 header.b=QIN8vIm+; spf=pass (domain: apple.com, ip: 17.171.2.68, mailfrom: afish@apple.com) Received: from pps.filterd (ma1-aaemail-dr-lapp02.apple.com [127.0.0.1]) by ma1-aaemail-dr-lapp02.apple.com (8.16.0.27/8.16.0.27) with SMTP id 01AK25Qg000687 for ; Mon, 10 Feb 2020 12:12:00 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=apple.com; h=sender : from : content-type : content-transfer-encoding : mime-version : subject : message-id : date : to; s=20180706; bh=rzs6TmaHsy0ufZGDlbUyRxbGYBxu/OrAArk2TL6cOI4=; b=QIN8vIm+h8UVHA4y4R1SOhSz9LG2Vu3DUQbBQYxTKDs8PO8K3fpzEoGAfsawo2wlwBp/ cA+tHc89aAkc6yiMT3UR0JPoTe/tIK0Vz7DuRR2OapT5sbph+8waZOkQmQ+I5SyBEpAi dJVJiS3tznhM2wbmhif8neV9v/eP9MHG+NWyN+EOdwSAeya1+el+i650Rx/8Bo/hDieG Yh3yr9RuzeEY5xQE6sbL+9Nd/T6ChzsV9daS1FswJcJRZ6QFt8+gbmnq+SZYCeRfoGch /ui795DlnmyjCgUf6KPToxgk4GibmnZRA80JRTRYWOyHOQuQtnd1m31RQyaLuDcogvTr Sg== Received: from rn-mailsvcp-mta-lapp03.rno.apple.com (rn-mailsvcp-mta-lapp03.rno.apple.com [10.225.203.151]) by ma1-aaemail-dr-lapp02.apple.com with ESMTP id 2y1thx4e9f-8 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Mon, 10 Feb 2020 12:12:00 -0800 Received: from nwk-mmpp-sz13.apple.com (nwk-mmpp-sz13.apple.com [17.128.115.216]) by rn-mailsvcp-mta-lapp03.rno.apple.com (Oracle Communications Messaging Server 8.1.0.1.20190704 64bit (built Jul 4 2019)) with ESMTPS id <0Q5I00EQH5FZUR70@rn-mailsvcp-mta-lapp03.rno.apple.com> for devel@edk2.groups.io; Mon, 10 Feb 2020 12:11:59 -0800 (PST) Received: from process_milters-daemon.nwk-mmpp-sz13.apple.com by nwk-mmpp-sz13.apple.com (Oracle Communications Messaging Server 8.0.2.4.20190507 64bit (built May 7 2019)) id <0Q5I00H005APSR00@nwk-mmpp-sz13.apple.com> for devel@edk2.groups.io; Mon, 10 Feb 2020 12:11:59 -0800 (PST) X-Va-A: X-Va-T-CD: af33feddfb7fcbdf4ba2524fa1b83a2c X-Va-E-CD: f6727db09b4ec207c543ff8f26cba1c1 X-Va-R-CD: d086657d3208506fddc7a14cb3485343 X-Va-CD: 0 X-Va-ID: 20628f7e-6776-4e56-a262-888cc7dfe62f X-V-A: X-V-T-CD: af33feddfb7fcbdf4ba2524fa1b83a2c X-V-E-CD: f6727db09b4ec207c543ff8f26cba1c1 X-V-R-CD: d086657d3208506fddc7a14cb3485343 X-V-CD: 0 X-V-ID: 8222e4dd-5cba-4055-b2d9-41003bdbd563 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:,, definitions=2020-02-10_07:,, signatures=0 Received: from [17.235.8.241] by nwk-mmpp-sz13.apple.com (Oracle Communications Messaging Server 8.0.2.4.20190507 64bit (built May 7 2019)) with ESMTPSA id <0Q5I00GVM5FI8H00@nwk-mmpp-sz13.apple.com> for devel@edk2.groups.io; Mon, 10 Feb 2020 12:11:59 -0800 (PST) Sender: afish@apple.com From: "Andrew Fish" MIME-version: 1.0 (Mac OS X Mail 13.0 \(3594.4.17\)) Subject: Shell feature? Message-id: Date: Mon, 10 Feb 2020 12:11:41 -0800 To: "devel@edk2.groups.io" X-Mailer: Apple Mail (2.3594.4.17) X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:,, definitions=2020-02-10_07:,, signatures=0 Content-type: text/plain; charset=us-ascii Content-transfer-encoding: quoted-printable I wanted to start a conversation on the mailing list prior to writing up = a BZ, to make sure I'm not missing anything, or in case there is a = better way to implement this.=20 I was thinking it would be good to have a Shell API that lets you = associate a file type with an internal or external shell command. The = Idea would be to pre-pend the internal/external shell command to the = file name and also pass the arguments. So this: fs0:>dump.py 1 2 3 Becomes: fs0:>python3.efi dump.py 1 2 3 Basically you just need an API like: ShellAddScriptingLanguage (L".py", L"python3.efi"); Seems like this could just plug into the Shell via a ShellExecute(). So = for example you could make Python a UEFI Shell command via a library and = that library constructor could also teach the shell that a .py file = could be an executable? Thanks, Andrew Fish=