Skip to main content
Version: v24.1

Create a completion script

Create a completion script The completion script is code that uses the builtin bash command complete to define which completion suggestions can be displayed for a given executable. The nature of the completion options vary from simple static to highly sophisticated.

Before you begin

  • Install Dgraph.
  • Determine the shell you are running:
    echo $0
    An output similar to the following appears:
    user@workstation:~/dgraph$ echo $0
    bash

Creating a completion script for Bash shell

  1. To generate a dgraph-completion.sh configuration file for your <SHELL>, run the completion command:

    dgraph completion <SHELL> > ~/dgraph-completion.sh

    The contents of the file is similar to:

    [Decoder]: Using assembly version of decoder
    Page Size: 4096
    # bash completion for dgraph -*- shell-script -*-

    __dgraph_debug()
    {
    if [[ -n ${BASH_COMP_DEBUG_FILE} ]]; then
    echo "$*" >> "${BASH_COMP_DEBUG_FILE}"
    fi
    }
    ...
    ..
    .

    The generated file has 2 lines at the beginning that need to be removed for the script to run properly.

  2. You can comment out the 2 lines with a #, or remove them with the following command:

    sed -i.bak '1d;2d' ~/dgraph-completion.sh
  3. Make the file executable by running the following command. You may require root user sudo privileges to run it:

    chmod +x ~/dgraph-completion.sh
  4. Open the .bashrc file with any text editor. You might need sudo privileges to apply changes. For example:

    nano ~/.bashrc
  5. Add the path to dgraph-completion.sh using the following syntax and save the file:

    . path/to/dgraph-completion.sh
  6. Reload the bashrc settings with the following command:

    source ~/.bashrc

Now you can start typing dgraph and press tab to get auto-completion and suggestions:

user@workstation:~/dgraph$ dgraph 
acl cert debug increment migrate tool zero
alpha completion debuginfo live raftmigrate upgrade
bulk conv export_backup lsbackup restore version