diff options
Diffstat (limited to 'scripts/targetcli')
| -rwxr-xr-x | scripts/targetcli | 35 |
1 files changed, 23 insertions, 12 deletions
diff --git a/scripts/targetcli b/scripts/targetcli index 92d3378..66cb5bb 100755 --- a/scripts/targetcli +++ b/scripts/targetcli @@ -60,6 +60,7 @@ class TargetCLI(ConfigShell): 'auto_save_on_exit': True, 'max_backup_files': '10', 'auto_add_default_portal': True, + 'auto_use_daemon': False, } def usage(): @@ -135,8 +136,12 @@ def get_arguments(): else: readline.parse_and_bind("tab: complete") - if len(sys.argv[1:]) > 1: - command = " ".join(sys.argv[2:]) + argstart = 1 + if len(sys.argv) > 1 and sys.argv[1] in ("tcp", "--tcp", "-t"): + argstart = 2 + + if len(sys.argv[argstart - 1:]) > 1: + command = " ".join(sys.argv[argstart:]) else: inputs = [] while True: @@ -145,29 +150,35 @@ def get_arguments(): break inputs.append(command) command = '%'.join(inputs) # delimit multiple commands with '%' + + if not command: + sys.exit(1) + + usage_version(command); + return command def main(): ''' Start the targetcli shell. ''' + shell = TargetCLI(getenv("TARGETCLI_HOME", '~/.targetcli')) + + is_root = False if getuid() == 0: is_root = True - else: - is_root = False - shell = TargetCLI(getenv("TARGETCLI_HOME", '~/.targetcli')) + use_daemon = False + if shell.prefs['auto_use_daemon']: + use_daemon = True if len(sys.argv) > 1: usage_version(sys.argv[1]) if sys.argv[1] in ("tcp", "--tcp", "-t"): - if len(sys.argv) > 2: - usage_version(sys.argv[2]) - args = get_arguments() - if not args: - sys.exit(1) - usage_version(args); - call_daemon(shell, args) + use_daemon = True + + if use_daemon: + call_daemon(shell, get_arguments()) try: root_node = UIRoot(shell, as_root=is_root) |
