summaryrefslogtreecommitdiff
path: root/ShellPkg/Application/ShellCTestApp/TestArgv.nsh
blob: 013ac123ec6b94a7837bbbd77e96eb4d78ec6752 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#/** @file
#  This is a very simple shell script to test how the interpreter parses the parameters.
#
#  Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
#  This program and the accompanying materials
#  are licensed and made available under the terms and conditions of the BSD License
#  which accompanies this distribution.  The full text of the license may be found at
#  http://opensource.org/licenses/bsd-license.php
#
#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#
#**/
echo -on
set Var_EFCF356F_228C_47C2_AD0C_3B5DAC9A8CFA      ValueOfGuid
set Sharp_E8528E46_A008_4221_8DE0_D5AB42A9C580    ^#
set Quote_E95DEE8B_E3AA_4155_9ED5_6916394104FC    ^"
set Var_ShellCTestApp_EE6E8BC6_71A6_44A5_BED3_D8F901105CDE ShellCTestApp_EE6E8BC6_71A6_44A5_BED3_D8F901105CDE
alias ShellCTestApp_EE6E8BC6_71A6_44A5_BED3_D8F901105CDE   ShellCTestApp

#
# '^' should escape all special characters (including space)
#     but has no impact to non-special characters
#
ShellCTestApp ^^
ShellCTestApp ^#
ShellCTestApp ^%Var_EFCF356F_228C_47C2_AD0C_3B5DAC9A8CFA%
ShellCTestApp ^"
ShellCTestApp ^ 1
ShellCTestApp ^ 
ShellCTestApp ^1
ShellCTestApp ^^^"
ShellCTestApp ^^^

#
# '#' should be processed before %% replacement, and inside '"'
#
ShellCTestApp #%Var_EFCF356F_228C_47C2_AD0C_3B5DAC9A8CFA%
#ShellCTestApp "#"
ShellCTestApp %Sharp_E8528E46_A008_4221_8DE0_D5AB42A9C580%

#
# '%' should be processed before grouping parameters
#
ShellCTestApp "%Var_EFCF356F_228C_47C2_AD0C_3B5DAC9A8CFA% 2%Quote_E95DEE8B_E3AA_4155_9ED5_6916394104FC%

#
# alias should be processed after %% replacement
#
%Var_ShellCTestApp_EE6E8BC6_71A6_44A5_BED3_D8F901105CDE%

#
# '"' should be stripped, space inside '"' should be kept, 
#
ShellCTestApp "p   1"
ShellCTestApp "p"1
ShellCTestApp "p   1"e"x"""

set -d Var_EFCF356F_228C_47C2_AD0C_3B5DAC9A8CFA
set -d Sharp_E8528E46_A008_4221_8DE0_D5AB42A9C580
set -d Quote_E95DEE8B_E3AA_4155_9ED5_6916394104FC
set -d Var_ShellCTestApp_EE6E8BC6_71A6_44A5_BED3_D8F901105CDE
alias -d ShellCTestApp_EE6E8BC6_71A6_44A5_BED3_D8F901105CDE
echo -off