mirror of
https://github.com/GAM-team/GAM.git
synced 2025-05-12 12:17:20 +00:00
82 lines
3.5 KiB
Markdown
82 lines
3.5 KiB
Markdown
# Command Line Parsing
|
|
- [Linux and MacOS](#linux-and-macos)
|
|
- [Windows Command Prompt](#windows-command-prompt)
|
|
- [Windows PowerShell](#windows-powershell)
|
|
- [List quoting rules](#list-quoting-rules)
|
|
- [Queries example](#queries-example)
|
|
|
|
## Linux and MacOS
|
|
|
|
When entering `gam csv` commands, you should enclose references to CSV file headers in `"`; e.g., `name "~name"`.
|
|
|
|
In bash, if an argument contains a `~`, `|`, `>`, or `<`, you must enclose the argument in `"`; e.g., `name "Test|Group"`.
|
|
|
|
In zsh, if an argument contains a `~`, `|`, `!`, `>`, or `<`, you must enclose the argument in `'`; e.g., `name 'Test|Group'`.
|
|
|
|
To embed a `'` in a string enclosed in `"`, enter `'`; `name "Test'Group"`.
|
|
|
|
To embed a `"` in a string enclosed in `'`, enter `"`; `name 'Test"Group'`.
|
|
|
|
To embed a `'` in a string enclosed in `'`, enter `'\''`; `name 'Test'\''Group'`.
|
|
|
|
To embed a `"` in a string enclosed in `"`, enter `\"`; `name "Test\"Group"`.
|
|
|
|
Linux and MacOS do not recognize smart or curly quotes, `“` and `”`, they can not be used to enclose arguments.
|
|
|
|
## Windows Command Prompt
|
|
|
|
Command Prompt does not recognize smart or curly quotes, `“` and `”`, they can not be used to enclose arguments.
|
|
|
|
Command Prompt does not recognize single quotes, `'`, they can not be used to enclose arguments.
|
|
|
|
To embed a `'` in a string enclosed in `"`, enter `'`; `name "Test'Group"`.
|
|
|
|
To embed a `"` in a string enclosed in `"`, enter `\"`; `name "Test\"Group"`.
|
|
|
|
## Windows PowerShell
|
|
|
|
In PowerShell, if you want an empty string argument, you must enter: ``` `"`" ```
|
|
|
|
PowerShell does not recognize smart or curly quotes, `“` and `”`, they can not be used to enclose arguments.
|
|
|
|
To embed a `'` in a string enclosed in `"`, enter `'`; `name "Test'Group"`.
|
|
|
|
To embed a `"` in a string enclosed in `"`, enter ``` `" ```; ```name "Test`"Group"```.
|
|
|
|
To embed a `'` in a string enclosed in `'`, enter `''`; `name 'Test''Group'`.
|
|
|
|
To embed a `"` in a string enclosed in `'`, enter `\"`; `name 'Test\"Group'`.
|
|
|
|
## List quoting rules
|
|
Items in a list can be separated by commas or spaces; if an item itself contains a comma, a space or a single quote, special quoting must be used.
|
|
Typically, you will enclose the entire list in double quotes and quote each item in the list as detailed below.
|
|
|
|
- Items, separated by commas, without spaces, commas or single quotes in the items themselves
|
|
* ```"item,item,item"```
|
|
- Items, separated by spaces, without spaces, commas or single quotes in the items themselves
|
|
* ```"item item item"```
|
|
- Items, separated by commas, with spaces, commas or single quotes in the items themselves
|
|
* ```"'it em','it,em',\"it'em\""``` - Linux, MacOS, Windows Command Prompt
|
|
* ```"'it\ em','it,em',`"it\'em`""``` - Windows Power Shell
|
|
- Items, separated by spaces, with spaces, commas or single quotes in the items themselves
|
|
* ```"'it em' 'it,em' \"it'em\""``` - Linux, MacOS, Windows Command Prompt
|
|
* ```"'it\ em' 'it,em' `"it\'em`""``` - Windows Power Shell
|
|
|
|
Typical places where these rules apply are lists of OUs and Contact Groups.
|
|
|
|
## Queries example
|
|
### Linux and MacOS
|
|
```
|
|
gam print users queries "\"orgUnitPath='/Students/Lower School/2027'\",\"orgUnitPath='/Students/Lower School/2028'\""
|
|
```
|
|
|
|
### Windows Command Prompt
|
|
```
|
|
gam print users queries "\"orgUnitPath='/Students/Lower School/2027'\",\"orgUnitPath='/Students/Lower School/2028'\""
|
|
```
|
|
|
|
### Windows Power Shell
|
|
```
|
|
gam print users queries "`"orgUnitPath=\'/Students/Lower\ School/2027\'`",`"orgUnitPath=\'/Students/Lower\ School/2028\'`""
|
|
```
|