audk/ShellPkg/Application/ShellCTestApp/TestArgv.nsh

64 lines
2.2 KiB
Plaintext
Raw Normal View History

#/** @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