89luca89 / distrobox

Use any linux distribution inside your terminal. Enable both backward and forward compatibility with software and freedom to use whatever distribution you’re more comfortable with. Mirror available at: https://gitlab.com/89luca89/distrobox
https://distrobox.it/
GNU General Public License v3.0
10.12k stars 417 forks source link

[Error] distrobox-assemble Advanced example fails to parse #803

Closed DonaldKellett closed 1 year ago

DonaldKellett commented 1 year ago

Describe the bug

The "Advanced example" shown in man 1 distrobox-assemble fails to parse as of Distrobox 1.5.0

To Reproduce

Save the following content to $HOME/distrobox.ini:

[tumbleweed_distrobox]
image=registry.opensuse.org/opensuse/distrobox
pull=true
additional_packages="acpi bash-completion findutils iproute iputils sensors inotify-tools unzip"
additional_packages="net-tools nmap openssl procps psmisc rsync man tig tmux tree vim htop xclip yt-dlp"
additional_packages="git git-credential-libsecret"
additional_packages="patterns-devel-base-devel_basis"
additional_packages="ShellCheck ansible-lint clang clang-tools codespell ctags desktop-file-utils gcc golang jq python3"
additional_packages="python3-bashate python3-flake8 python3-mypy python3-pipx python3-pycodestyle python3-pyflakes python3-pylint python3-python-lsp-server python3-rstcheck python3-yapf python3-yamllint rustup shfmt"
additional_packages="kubernetes-client helm"
init_hooks=GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
init_hooks=GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install github.com/onsi/ginkgo/v2/ginkgo@latest
init_hooks=GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install golang.org/x/tools/cmd/goimports@latest
init_hooks=GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install golang.org/x/tools/gopls@latest
init_hooks=GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install sigs.k8s.io/kind@latest
init_hooks=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/conmon
init_hooks=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/crun
init_hooks=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/docker
init_hooks=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/docker-compose
init_hooks=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/flatpak
init_hooks=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/podman
init_hooks=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/xdg-open

Now run:

distrobox assemble create

Expected behavior

The container is created and works as intended

Logs

Output of distrobox assemble --verbose create:

+ [ 0 -eq -1 ]
+ [ -z  ]
+ input_file=./distrobox.ini
+ [ ! -e ./distrobox.ini ]
+ parse_file ./distrobox.ini
+ file=./distrobox.ini
+ name=
+ IFS=

+ cat ./distrobox.ini
+ [ -z [tumbleweed_distrobox] ]
+ + echo [tumbleweed_distrobox]
+ sed s/\s*$//g
sed s/#.*//g
+ line=[tumbleweed_distrobox]
+ + cut -c 1
echo [tumbleweed_distrobox]
+ [ [ = [ ]
+ [ -n  ]
+ echo [tumbleweed_distrobox]
+ tr -d ][ 
+ name=tumbleweed_distrobox
+ continue
+ [ -z image=registry.opensuse.org/opensuse/distrobox ]
+ echo image=registry.opensuse.org/opensuse/distrobox
+ sed s/#.*//g
+ sed s/\s*$//g
+ line=image=registry.opensuse.org/opensuse/distrobox
+ echo image=registry.opensuse.org/opensuse/distrobox
+ cut -c 1
+ [ i = [ ]
+ echo image=registry.opensuse.org/opensuse/distrobox
+ cut -d= -f1
+ tr -d  
+ key=image
+ echo image=registry.opensuse.org/opensuse/distrobox+ cut -d= -f2-

+ value=registry.opensuse.org/opensuse/distrobox
+ [ registry.opensuse.org/opensuse/distrobox = true ]
+ [ registry.opensuse.org/opensuse/distrobox = false ]
+ sanitize_variable registry.opensuse.org/opensuse/distrobox
+ variable=registry.opensuse.org/opensuse/distrobox
+ echo registry.opensuse.org/opensuse/distrobox
+ grep -q  
+ echo registry.opensuse.org/opensuse/distrobox
+ value=registry.opensuse.org/opensuse/distrobox
+ touch /tmp/tmp.W9wvuoojyi
+ [ -n image ]
+ [ -n registry.opensuse.org/opensuse/distrobox ]
+ grep -q image /tmp/tmp.W9wvuoojyi
+ echo image=registry.opensuse.org/opensuse/distrobox
+ [ -z pull=true ]
+ echo pull=true
+ sed s/#.*//g
+ sed s/\s*$//g
+ line=pull=true
+ echo pull=true
+ cut -c 1
+ [ p = [ ]
+ tr -d  
+ cut -d= -f1
+ echo pull=true
+ key=pull
+ cut -d= -f2-
+ echo pull=true
+ value=true
+ [ true = true ]
+ value=1
+ [ 1 = false ]
+ sanitize_variable 1
+ variable=1
+ echo 1
+ grep -q  
+ echo 1
+ value=1
+ touch /tmp/tmp.W9wvuoojyi
+ [ -n pull ]
+ [ -n 1 ]
+ grep -q pull /tmp/tmp.W9wvuoojyi
+ echo pull=1
+ [ -z additional_packages="acpi bash-completion findutils iproute iputils sensors inotify-tools unzip" ]
+ sed s/#.*//g
+ sed s/\s*$//g
+ echo additional_packages="acpi bash-completion findutils iproute iputils sensors inotify-tools unzip"
+ line=additional_packages="acpi bash-completion findutils iproute iputils sensors inotify-tools unzip"
+ cut -c 1
+ echo additional_packages="acpi bash-completion findutils iproute iputils sensors inotify-tools unzip"
+ [ a = [ ]
+ cut -d= -f1
+ echo additional_packages="acpi bash-completion findutils iproute iputils sensors inotify-tools unzip"
+ tr -d  
+ key=additional_packages
+ cut -d= -f2-
+ echo additional_packages="acpi bash-completion findutils iproute iputils sensors inotify-tools unzip"
+ value="acpi bash-completion findutils iproute iputils sensors inotify-tools unzip"
+ [ "acpi bash-completion findutils iproute iputils sensors inotify-tools unzip" = true ]
+ [ "acpi bash-completion findutils iproute iputils sensors inotify-tools unzip" = false ]
+ sanitize_variable "acpi bash-completion findutils iproute iputils sensors inotify-tools unzip"
+ variable="acpi bash-completion findutils iproute iputils sensors inotify-tools unzip"
+ echo "acpi bash-completion findutils iproute iputils sensors inotify-tools unzip"
+ grep -q  
+ echo "acpi bash-completion findutils iproute iputils sensors inotify-tools unzip"
+ grep -Eq ^'|^"
+ echo "acpi bash-completion findutils iproute iputils sensors inotify-tools unzip"
+ value="acpi bash-completion findutils iproute iputils sensors inotify-tools unzip"
+ touch /tmp/tmp.W9wvuoojyi
+ [ -n additional_packages ]
+ [ -n "acpi bash-completion findutils iproute iputils sensors inotify-tools unzip" ]
+ grep -q additional_packages /tmp/tmp.W9wvuoojyi
+ echo additional_packages="acpi bash-completion findutils iproute iputils sensors inotify-tools unzip"
+ [ -z additional_packages="net-tools nmap openssl procps psmisc rsync man tig tmux tree vim htop xclip yt-dlp" ]
+ sed s/#.*//g
+ echo additional_packages="net-tools nmap openssl procps psmisc rsync man tig tmux tree vim htop xclip yt-dlp"
+ sed s/\s*$//g
+ line=additional_packages="net-tools nmap openssl procps psmisc rsync man tig tmux tree vim htop xclip yt-dlp"
+ cut -c 1
+ echo additional_packages="net-tools nmap openssl procps psmisc rsync man tig tmux tree vim htop xclip yt-dlp"
+ [ a = [ ]
+ cut -d= -f1
+ echo additional_packages="net-tools nmap openssl procps psmisc rsync man tig tmux tree vim htop xclip yt-dlp"
+ tr -d  
+ key=additional_packages
+ echo additional_packages="net-tools nmap openssl procps psmisc rsync man tig tmux tree vim htop xclip yt-dlp"
+ cut -d= -f2-
+ value="net-tools nmap openssl procps psmisc rsync man tig tmux tree vim htop xclip yt-dlp"
+ [ "net-tools nmap openssl procps psmisc rsync man tig tmux tree vim htop xclip yt-dlp" = true ]
+ [ "net-tools nmap openssl procps psmisc rsync man tig tmux tree vim htop xclip yt-dlp" = false ]
+ sanitize_variable "net-tools nmap openssl procps psmisc rsync man tig tmux tree vim htop xclip yt-dlp"
+ variable="net-tools nmap openssl procps psmisc rsync man tig tmux tree vim htop xclip yt-dlp"
+ grep -q  
+ echo "net-tools nmap openssl procps psmisc rsync man tig tmux tree vim htop xclip yt-dlp"
+ echo "net-tools nmap openssl procps psmisc rsync man tig tmux tree vim htop xclip yt-dlp"
+ grep -Eq ^'|^"
+ echo "net-tools nmap openssl procps psmisc rsync man tig tmux tree vim htop xclip yt-dlp"
+ value="net-tools nmap openssl procps psmisc rsync man tig tmux tree vim htop xclip yt-dlp"
+ touch /tmp/tmp.W9wvuoojyi
+ [ -n additional_packages ]
+ [ -n "net-tools nmap openssl procps psmisc rsync man tig tmux tree vim htop xclip yt-dlp" ]
+ grep -q additional_packages /tmp/tmp.W9wvuoojyi
+ echo additional_packages+=\|"net-tools nmap openssl procps psmisc rsync man tig tmux tree vim htop xclip yt-dlp"
+ continue
+ [ -z additional_packages="git git-credential-libsecret" ]
+ sed s/\s*$//g
+ echo additional_packages="git git-credential-libsecret"
+ sed s/#.*//g
+ line=additional_packages="git git-credential-libsecret"
+ echo additional_packages="git git-credential-libsecret"
+ cut -c 1
+ [ a = [ ]
+ tr -d  
+ echo additional_packages="git git-credential-libsecret"
+ cut -d= -f1
+ key=additional_packages
+ echo additional_packages="git git-credential-libsecret"
+ cut -d= -f2-
+ value="git git-credential-libsecret"
+ [ "git git-credential-libsecret" = true ]
+ [ "git git-credential-libsecret" = false ]
+ sanitize_variable "git git-credential-libsecret"
+ variable="git git-credential-libsecret"
+ grep -q  
+ echo "git git-credential-libsecret"
+ echo "git git-credential-libsecret"
+ grep -Eq ^'|^"
+ echo "git git-credential-libsecret"
+ value="git git-credential-libsecret"
+ touch /tmp/tmp.W9wvuoojyi
+ [ -n additional_packages ]
+ [ -n "git git-credential-libsecret" ]
+ grep -q additional_packages /tmp/tmp.W9wvuoojyi
+ echo additional_packages+=\|"git git-credential-libsecret"
+ continue
+ [ -z additional_packages="patterns-devel-base-devel_basis" ]
+ sed s/\s*$//g
+ echo additional_packages="patterns-devel-base-devel_basis"
+ sed s/#.*//g
+ line=additional_packages="patterns-devel-base-devel_basis"
+ echo additional_packages="patterns-devel-base-devel_basis"
+ cut -c 1
+ [ a = [ ]
+ tr -d  
+ echo additional_packages="patterns-devel-base-devel_basis"
+ cut -d= -f1
+ key=additional_packages
+ echo additional_packages="patterns-devel-base-devel_basis"
+ cut -d= -f2-
+ value="patterns-devel-base-devel_basis"
+ [ "patterns-devel-base-devel_basis" = true ]
+ [ "patterns-devel-base-devel_basis" = false ]
+ sanitize_variable "patterns-devel-base-devel_basis"
+ variable="patterns-devel-base-devel_basis"
+ grep -q  
+ echo "patterns-devel-base-devel_basis"
+ echo "patterns-devel-base-devel_basis"
+ value="patterns-devel-base-devel_basis"
+ touch /tmp/tmp.W9wvuoojyi
+ [ -n additional_packages ]
+ [ -n "patterns-devel-base-devel_basis" ]
+ grep -q additional_packages /tmp/tmp.W9wvuoojyi
+ echo additional_packages+=\|"patterns-devel-base-devel_basis"
+ continue
+ [ -z additional_packages="ShellCheck ansible-lint clang clang-tools codespell ctags desktop-file-utils gcc golang jq python3" ]
+ sed s/#.*//g
+ sed s/\s*$//g
+ echo additional_packages="ShellCheck ansible-lint clang clang-tools codespell ctags desktop-file-utils gcc golang jq python3"
+ line=additional_packages="ShellCheck ansible-lint clang clang-tools codespell ctags desktop-file-utils gcc golang jq python3"
+ echo additional_packages="ShellCheck ansible-lint clang clang-tools codespell ctags desktop-file-utils gcc golang jq python3"
+ cut -c 1
+ [ a = [ ]
+ tr -d  
+ echo additional_packages="ShellCheck ansible-lint clang clang-tools codespell ctags desktop-file-utils gcc golang jq python3"
+ cut -d= -f1
+ key=additional_packages
+ echo additional_packages="ShellCheck ansible-lint clang clang-tools codespell ctags desktop-file-utils gcc golang jq python3"
+ cut -d= -f2-
+ value="ShellCheck ansible-lint clang clang-tools codespell ctags desktop-file-utils gcc golang jq python3"
+ [ "ShellCheck ansible-lint clang clang-tools codespell ctags desktop-file-utils gcc golang jq python3" = true ]
+ [ "ShellCheck ansible-lint clang clang-tools codespell ctags desktop-file-utils gcc golang jq python3" = false ]
+ sanitize_variable "ShellCheck ansible-lint clang clang-tools codespell ctags desktop-file-utils gcc golang jq python3"
+ variable="ShellCheck ansible-lint clang clang-tools codespell ctags desktop-file-utils gcc golang jq python3"
+ grep+ echo "ShellCheck ansible-lint clang clang-tools codespell ctags desktop-file-utils gcc golang jq python3"
 -q  
+ echo "ShellCheck ansible-lint clang clang-tools codespell ctags desktop-file-utils gcc golang jq python3"
+ grep -Eq ^'|^"
+ echo "ShellCheck ansible-lint clang clang-tools codespell ctags desktop-file-utils gcc golang jq python3"
+ value="ShellCheck ansible-lint clang clang-tools codespell ctags desktop-file-utils gcc golang jq python3"
+ touch /tmp/tmp.W9wvuoojyi
+ [ -n additional_packages ]
+ [ -n "ShellCheck ansible-lint clang clang-tools codespell ctags desktop-file-utils gcc golang jq python3" ]
+ grep -q additional_packages /tmp/tmp.W9wvuoojyi
+ echo additional_packages+=\|"ShellCheck ansible-lint clang clang-tools codespell ctags desktop-file-utils gcc golang jq python3"
+ continue
+ [ -z additional_packages="python3-bashate python3-flake8 python3-mypy python3-pipx python3-pycodestyle python3-pyflakes python3-pylint python3-python-lsp-server python3-rstcheck python3-yapf python3-yamllint rustup shfmt" ]
+ sed s/\s*$//g
+ sed s/#.*//g
+ echo additional_packages="python3-bashate python3-flake8 python3-mypy python3-pipx python3-pycodestyle python3-pyflakes python3-pylint python3-python-lsp-server python3-rstcheck python3-yapf python3-yamllint rustup shfmt"
+ line=additional_packages="python3-bashate python3-flake8 python3-mypy python3-pipx python3-pycodestyle python3-pyflakes python3-pylint python3-python-lsp-server python3-rstcheck python3-yapf python3-yamllint rustup shfmt"
+ echo additional_packages="python3-bashate python3-flake8 python3-mypy python3-pipx python3-pycodestyle python3-pyflakes python3-pylint python3-python-lsp-server python3-rstcheck python3-yapf python3-yamllint rustup shfmt"
+ cut -c 1
+ [ a = [ ]
+ echo additional_packages="python3-bashate python3-flake8 python3-mypy python3-pipx python3-pycodestyle python3-pyflakes python3-pylint python3-python-lsp-server python3-rstcheck python3-yapf python3-yamllint rustup shfmt"
+ tr -d  
+ cut -d= -f1
+ key=additional_packages
+ echo additional_packages="python3-bashate python3-flake8 python3-mypy python3-pipx python3-pycodestyle python3-pyflakes python3-pylint python3-python-lsp-server python3-rstcheck python3-yapf python3-yamllint rustup shfmt"
+ cut -d= -f2-
+ value="python3-bashate python3-flake8 python3-mypy python3-pipx python3-pycodestyle python3-pyflakes python3-pylint python3-python-lsp-server python3-rstcheck python3-yapf python3-yamllint rustup shfmt"
+ [ "python3-bashate python3-flake8 python3-mypy python3-pipx python3-pycodestyle python3-pyflakes python3-pylint python3-python-lsp-server python3-rstcheck python3-yapf python3-yamllint rustup shfmt" = true ]
+ [ "python3-bashate python3-flake8 python3-mypy python3-pipx python3-pycodestyle python3-pyflakes python3-pylint python3-python-lsp-server python3-rstcheck python3-yapf python3-yamllint rustup shfmt" = false ]
+ sanitize_variable "python3-bashate python3-flake8 python3-mypy python3-pipx python3-pycodestyle python3-pyflakes python3-pylint python3-python-lsp-server python3-rstcheck python3-yapf python3-yamllint rustup shfmt"
+ variable="python3-bashate python3-flake8 python3-mypy python3-pipx python3-pycodestyle python3-pyflakes python3-pylint python3-python-lsp-server python3-rstcheck python3-yapf python3-yamllint rustup shfmt"
+ echo "python3-bashate python3-flake8 python3-mypy python3-pipx python3-pycodestyle python3-pyflakes python3-pylint python3-python-lsp-server python3-rstcheck python3-yapf python3-yamllint rustup shfmt"
+ grep -q  
+ echo "python3-bashate python3-flake8 python3-mypy python3-pipx python3-pycodestyle python3-pyflakes python3-pylint python3-python-lsp-server python3-rstcheck python3-yapf python3-yamllint rustup shfmt"
+ grep -Eq ^'|^"
+ echo "python3-bashate python3-flake8 python3-mypy python3-pipx python3-pycodestyle python3-pyflakes python3-pylint python3-python-lsp-server python3-rstcheck python3-yapf python3-yamllint rustup shfmt"
+ value="python3-bashate python3-flake8 python3-mypy python3-pipx python3-pycodestyle python3-pyflakes python3-pylint python3-python-lsp-server python3-rstcheck python3-yapf python3-yamllint rustup shfmt"
+ touch /tmp/tmp.W9wvuoojyi
+ [ -n additional_packages ]
+ [ -n "python3-bashate python3-flake8 python3-mypy python3-pipx python3-pycodestyle python3-pyflakes python3-pylint python3-python-lsp-server python3-rstcheck python3-yapf python3-yamllint rustup shfmt" ]
+ grep -q additional_packages /tmp/tmp.W9wvuoojyi
+ echo additional_packages+=\|"python3-bashate python3-flake8 python3-mypy python3-pipx python3-pycodestyle python3-pyflakes python3-pylint python3-python-lsp-server python3-rstcheck python3-yapf python3-yamllint rustup shfmt"
+ continue
+ [ -z additional_packages="kubernetes-client helm" ]
+ echo additional_packages="kubernetes-client helm"
+ sed s/\s*$//g
+ sed s/#.*//g
+ line=additional_packages="kubernetes-client helm"
+ echo additional_packages="kubernetes-client helm"
+ cut -c 1
+ [ a = [ ]
+ echo additional_packages="kubernetes-client helm"
+ tr -d  
+ cut -d= -f1
+ key=additional_packages
+ echo additional_packages="kubernetes-client helm"
+ cut -d= -f2-
+ value="kubernetes-client helm"
+ [ "kubernetes-client helm" = true ]
+ [ "kubernetes-client helm" = false ]
+ sanitize_variable "kubernetes-client helm"
+ variable="kubernetes-client helm"
+ echo "kubernetes-client helm"
+ grep -q  
+ echo "kubernetes-client helm"
+ grep -Eq ^'|^"
+ echo "kubernetes-client helm"
+ value="kubernetes-client helm"
+ touch /tmp/tmp.W9wvuoojyi
+ [ -n additional_packages ]
+ [ -n "kubernetes-client helm" ]
+ grep -q additional_packages /tmp/tmp.W9wvuoojyi
+ echo additional_packages+=\|"kubernetes-client helm"
+ continue
+ [ -z init_hooks=GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest ]
+ sed s/#.*//g
+ + echo init_hooks=GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
sed s/\s*$//g
+ line=init_hooks=GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
+ echo init_hooks=GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
+ cut -c 1
+ [ i = [ ]
+ + echo init_hooks=GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
cut -d= -f1
+ tr -d  
+ key=init_hooks
+ + cut -d= -f2-
echo init_hooks=GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
+ value=GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
+ [ GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest = true ]
+ [ GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest = false ]
+ sanitize_variable GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
+ variable=GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
+ echo GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
+ grep -q  
+ echo GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
+ grep -Eq ^'|^"
+ variable="GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest"
+ echo "GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest"
+ value="GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest"
+ touch /tmp/tmp.W9wvuoojyi
+ [ -n init_hooks ]
+ [ -n "GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest" ]
+ grep -q init_hooks /tmp/tmp.W9wvuoojyi
+ echo init_hooks="GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest"
+ [ -z init_hooks=GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install github.com/onsi/ginkgo/v2/ginkgo@latest ]
+ echo init_hooks=GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install github.com/onsi/ginkgo/v2/ginkgo@latest
+ sed s/#.*//g
+ sed s/\s*$//g
+ line=init_hooks=GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install github.com/onsi/ginkgo/v2/ginkgo@latest
+ echo init_hooks=GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install github.com/onsi/ginkgo/v2/ginkgo@latest
+ cut -c 1
+ [ i = [ ]
+ echo init_hooks=GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install github.com/onsi/ginkgo/v2/ginkgo@latest
+ + trcut -d= -f1
 -d  
+ key=init_hooks
+ echo+  init_hooks=GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install github.com/onsi/ginkgo/v2/ginkgo@latest
cut -d= -f2-
+ value=GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install github.com/onsi/ginkgo/v2/ginkgo@latest
+ [ GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install github.com/onsi/ginkgo/v2/ginkgo@latest = true ]
+ [ GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install github.com/onsi/ginkgo/v2/ginkgo@latest = false ]
+ sanitize_variable GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install github.com/onsi/ginkgo/v2/ginkgo@latest
+ variable=GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install github.com/onsi/ginkgo/v2/ginkgo@latest
+ echo GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install github.com/onsi/ginkgo/v2/ginkgo@latest
+ grep -q  
+ grep -Eq ^'|^"
+ echo GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install github.com/onsi/ginkgo/v2/ginkgo@latest
+ variable="GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install github.com/onsi/ginkgo/v2/ginkgo@latest"
+ echo "GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install github.com/onsi/ginkgo/v2/ginkgo@latest"
+ value="GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install github.com/onsi/ginkgo/v2/ginkgo@latest"
+ touch /tmp/tmp.W9wvuoojyi
+ [ -n init_hooks ]
+ [ -n "GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install github.com/onsi/ginkgo/v2/ginkgo@latest" ]
+ grep -q init_hooks /tmp/tmp.W9wvuoojyi
+ echo init_hooks+=\|"GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install github.com/onsi/ginkgo/v2/ginkgo@latest"
+ continue
+ [ -z init_hooks=GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install golang.org/x/tools/cmd/goimports@latest ]
+ echo init_hooks=GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install golang.org/x/tools/cmd/goimports@latest
+ sed s/#.*//g
+ sed s/\s*$//g
+ line=init_hooks=GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install golang.org/x/tools/cmd/goimports@latest
+ cut -c 1
+ echo init_hooks=GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install golang.org/x/tools/cmd/goimports@latest
+ [ i = [ ]
+ echo init_hooks=GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install golang.org/x/tools/cmd/goimports@latest
+ cut -d= -f1
+ tr -d  
+ key=init_hooks
+ + cut -d= -f2-
echo init_hooks=GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install golang.org/x/tools/cmd/goimports@latest
+ value=GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install golang.org/x/tools/cmd/goimports@latest
+ [ GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install golang.org/x/tools/cmd/goimports@latest = true ]
+ [ GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install golang.org/x/tools/cmd/goimports@latest = false ]
+ sanitize_variable GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install golang.org/x/tools/cmd/goimports@latest
+ variable=GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install golang.org/x/tools/cmd/goimports@latest
+ echo GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install golang.org/x/tools/cmd/goimports@latest
+ grep -q  
+ grep -Eq ^'|^"
+ echo GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install golang.org/x/tools/cmd/goimports@latest
+ variable="GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install golang.org/x/tools/cmd/goimports@latest"
+ echo "GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install golang.org/x/tools/cmd/goimports@latest"
+ value="GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install golang.org/x/tools/cmd/goimports@latest"
+ touch /tmp/tmp.W9wvuoojyi
+ [ -n init_hooks ]
+ [ -n "GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install golang.org/x/tools/cmd/goimports@latest" ]
+ grep -q init_hooks /tmp/tmp.W9wvuoojyi
+ echo init_hooks+=\|"GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install golang.org/x/tools/cmd/goimports@latest"
+ continue
+ [ -z init_hooks=GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install golang.org/x/tools/gopls@latest ]
+ echo init_hooks=GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install golang.org/x/tools/gopls@latest
+ sed s/#.*//g
+ sed s/\s*$//g
+ line=init_hooks=GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install golang.org/x/tools/gopls@latest
+ echo init_hooks=GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install golang.org/x/tools/gopls@latest
+ cut -c 1
+ [ i = [ ]
+ + tr -dcut   -d=
 -f1
+ echo init_hooks=GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install golang.org/x/tools/gopls@latest
+ key=init_hooks
+ cut -d= -f2-
+ echo init_hooks=GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install golang.org/x/tools/gopls@latest
+ value=GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install golang.org/x/tools/gopls@latest
+ [ GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install golang.org/x/tools/gopls@latest = true ]
+ [ GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install golang.org/x/tools/gopls@latest = false ]
+ sanitize_variable GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install golang.org/x/tools/gopls@latest
+ variable=GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install golang.org/x/tools/gopls@latest
+ echo GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install golang.org/x/tools/gopls@latest
+ grep -q  
+ echo GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install golang.org/x/tools/gopls@latest
+ grep -Eq ^'|^"
+ variable="GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install golang.org/x/tools/gopls@latest"
+ echo "GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install golang.org/x/tools/gopls@latest"
+ value="GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install golang.org/x/tools/gopls@latest"
+ touch /tmp/tmp.W9wvuoojyi
+ [ -n init_hooks ]
+ [ -n "GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install golang.org/x/tools/gopls@latest" ]
+ grep -q init_hooks /tmp/tmp.W9wvuoojyi
+ echo init_hooks+=\|"GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install golang.org/x/tools/gopls@latest"
+ continue
+ [ -z init_hooks=GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install sigs.k8s.io/kind@latest ]
+ echo init_hooks=GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install sigs.k8s.io/kind@latest
+ sed s/#.*//g
+ sed s/\s*$//g
+ line=init_hooks=GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install sigs.k8s.io/kind@latest
+ cut -c 1
+ echo init_hooks=GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install sigs.k8s.io/kind@latest
+ [ i = [ ]
+ cut -d= -f1
+ echo init_hooks=GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install sigs.k8s.io/kind@latest
+ tr -d  
+ key=init_hooks
+ echo init_hooks=GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install sigs.k8s.io/kind@latest
+ cut -d= -f2-
+ value=GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install sigs.k8s.io/kind@latest
+ [ GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install sigs.k8s.io/kind@latest = true ]
+ [ GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install sigs.k8s.io/kind@latest = false ]
+ sanitize_variable GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install sigs.k8s.io/kind@latest
+ variable=GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install sigs.k8s.io/kind@latest
+ + grep -q  
echo GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install sigs.k8s.io/kind@latest
+ grep -Eq ^'|^"
+ echo GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install sigs.k8s.io/kind@latest
+ variable="GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install sigs.k8s.io/kind@latest"
+ echo "GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install sigs.k8s.io/kind@latest"
+ value="GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install sigs.k8s.io/kind@latest"
+ touch /tmp/tmp.W9wvuoojyi
+ [ -n init_hooks ]
+ [ -n "GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install sigs.k8s.io/kind@latest" ]
+ grep -q init_hooks /tmp/tmp.W9wvuoojyi
+ echo init_hooks+=\|"GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install sigs.k8s.io/kind@latest"
+ continue
+ [ -z init_hooks=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/conmon ]
+ echo init_hooks=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/conmon
+ sed s/\s*$//g
+ sed s/#.*//g
+ line=init_hooks=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/conmon
+ echo init_hooks=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/conmon
+ cut -c 1
+ [ i = [ ]
+ echo init_hooks=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/conmon
+ + tr -d  
cut -d= -f1
+ key=init_hooks
+ echo init_hooks=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/conmon
+ cut -d= -f2-
+ value=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/conmon
+ [ ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/conmon = true ]
+ [ ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/conmon = false ]
+ sanitize_variable ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/conmon
+ variable=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/conmon
+ grep -q  
+ echo ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/conmon
+ echo ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/conmon
+ grep -Eq ^'|^"
+ variable="ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/conmon"
+ echo "ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/conmon"
+ value="ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/conmon"
+ touch /tmp/tmp.W9wvuoojyi
+ [ -n init_hooks ]
+ [ -n "ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/conmon" ]
+ grep -q init_hooks /tmp/tmp.W9wvuoojyi
+ echo init_hooks+=\|"ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/conmon"
+ continue
+ [ -z init_hooks=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/crun ]
+ echo init_hooks=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/crun+ + sed s/#.*//g

sed s/\s*$//g
+ line=init_hooks=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/crun
+ echo init_hooks=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/crun
+ cut -c 1
+ [ i = [ ]
+ echo init_hooks=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/crun
+ cut -d= -f1
+ tr -d  
+ key=init_hooks
+ echo init_hooks=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/crun
+ cut -d= -f2-
+ value=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/crun
+ [ ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/crun = true ]
+ [ ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/crun = false ]
+ sanitize_variable ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/crun
+ variable=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/crun
+ echo ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/crun
+ grep -q  
+ echo ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/crun
+ grep -Eq ^'|^"
+ variable="ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/crun"
+ echo "ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/crun"
+ value="ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/crun"
+ touch /tmp/tmp.W9wvuoojyi
+ [ -n init_hooks ]
+ [ -n "ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/crun" ]
+ grep -q init_hooks /tmp/tmp.W9wvuoojyi
+ echo init_hooks+=\|"ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/crun"
+ continue
+ [ -z init_hooks=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/docker ]
+ echo init_hooks=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/docker+ 
sed s/#.*//g
+ sed s/\s*$//g
+ line=init_hooks=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/docker
+ echo init_hooks=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/docker
+ cut -c 1
+ [ i = [ ]
+ echo init_hooks=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/docker
+ cut -d= -f1
+ tr -d  
+ key=init_hooks
+ + echo init_hooks=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/docker
cut -d= -f2-
+ value=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/docker
+ [ ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/docker = true ]
+ [ ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/docker = false ]
+ sanitize_variable ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/docker
+ variable=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/docker
+ echo ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/docker
+ grep -q  
+ echo ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/docker
+ grep -Eq ^'|^"
+ variable="ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/docker"
+ echo "ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/docker"
+ value="ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/docker"
+ touch /tmp/tmp.W9wvuoojyi
+ [ -n init_hooks ]
+ [ -n "ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/docker" ]
+ grep -q init_hooks /tmp/tmp.W9wvuoojyi
+ echo init_hooks+=\|"ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/docker"
+ continue
+ [ -z init_hooks=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/docker-compose ]
+ echo init_hooks=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/docker-compose
+ sed s/#.*//g+ sed s/\s*$//g

+ line=init_hooks=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/docker-compose
+ + cut -c 1
echo init_hooks=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/docker-compose
+ [ i = [ ]
+ echo init_hooks=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/docker-compose
+ cut -d= -f1
+ tr -d  
+ key=init_hooks
+ cut -d= -f2-
+ echo init_hooks=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/docker-compose
+ value=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/docker-compose
+ [ ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/docker-compose = true ]
+ [ ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/docker-compose = false ]
+ sanitize_variable ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/docker-compose
+ variable=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/docker-compose
+ echo ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/docker-compose
+ grep -q  
+ grep -Eq ^'|^"
+ echo ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/docker-compose
+ variable="ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/docker-compose"
+ echo "ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/docker-compose"
+ value="ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/docker-compose"
+ touch /tmp/tmp.W9wvuoojyi
+ [ -n init_hooks ]
+ [ -n "ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/docker-compose" ]
+ grep -q init_hooks /tmp/tmp.W9wvuoojyi
+ echo init_hooks+=\|"ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/docker-compose"
+ continue
+ [ -z init_hooks=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/flatpak ]
+ echo init_hooks=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/flatpak
+ sed s/\s*$//g
+ sed s/#.*//g
+ line=init_hooks=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/flatpak
+ echo init_hooks=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/flatpak
+ cut -c 1
+ [ i = [ ]
+ echo init_hooks=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/flatpak
+ tr -d  
+ cut -d= -f1
+ key=init_hooks
+ echo init_hooks=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/flatpak
+ cut -d= -f2-
+ value=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/flatpak
+ [ ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/flatpak = true ]
+ [ ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/flatpak = false ]
+ sanitize_variable ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/flatpak
+ variable=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/flatpak
+ echo ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/flatpak
+ grep -q  
+ + grep -Eq ^'|^"
echo ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/flatpak
+ variable="ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/flatpak"
+ echo "ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/flatpak"
+ value="ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/flatpak"
+ touch /tmp/tmp.W9wvuoojyi
+ [ -n init_hooks ]
+ [ -n "ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/flatpak" ]
+ grep -q init_hooks /tmp/tmp.W9wvuoojyi
+ echo init_hooks+=\|"ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/flatpak"
+ continue
+ [ -z init_hooks=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/podman ]
+ + echo init_hooks=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/podman
sed s/#.*//g
+ sed s/\s*$//g
+ line=init_hooks=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/podman
+ echo init_hooks=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/podman
+ cut -c 1
+ [ i = [ ]
+ tr -d  
+ + echo init_hooks=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/podman
cut -d= -f1
+ key=init_hooks
+ echo init_hooks=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/podman
+ cut -d= -f2-
+ value=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/podman
+ [ ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/podman = true ]
+ [ ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/podman = false ]
+ sanitize_variable ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/podman
+ variable=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/podman
+ echo ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/podman
+ grep -q  
+ echo ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/podman
+ grep -Eq ^'|^"
+ variable="ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/podman"
+ echo "ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/podman"
+ value="ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/podman"
+ touch /tmp/tmp.W9wvuoojyi
+ [ -n init_hooks ]
+ [ -n "ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/podman" ]
+ grep -q init_hooks /tmp/tmp.W9wvuoojyi
+ echo init_hooks+=\|"ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/podman"
+ continue
+ [ -z init_hooks=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/xdg-open ]
+ echo init_hooks=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/xdg-open
+ + sed s/#.*//g
sed s/\s*$//g
+ line=init_hooks=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/xdg-open
+ echo init_hooks=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/xdg-open
+ cut -c 1
+ [ i = [ ]
+ echo init_hooks=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/xdg-open
+ cut -d= -f1
+ tr -d  
+ key=init_hooks
+ echo init_hooks=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/xdg-open+ cut -d= -f2-

+ value=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/xdg-open
+ [ ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/xdg-open = true ]
+ [ ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/xdg-open = false ]
+ sanitize_variable ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/xdg-open
+ variable=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/xdg-open
+ echo ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/xdg-open
+ grep -q  
+ echo ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/xdg-open+ grep -Eq ^'|^"

+ variable="ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/xdg-open"
+ echo "ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/xdg-open"
+ value="ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/xdg-open"
+ touch /tmp/tmp.W9wvuoojyi
+ [ -n init_hooks ]
+ [ -n "ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/xdg-open" ]
+ grep -q init_hooks /tmp/tmp.W9wvuoojyi
+ echo init_hooks+=\|"ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/xdg-open"
+ continue
+ run_distrobox tumbleweed_distrobox
+ name=tumbleweed_distrobox
+ [ -e /tmp/tmp.W9wvuoojyi ]
+ . /tmp/tmp.W9wvuoojyi
+ image=registry.opensuse.org/opensuse/distrobox
+ pull=1
+ additional_packages=acpi bash-completion findutils iproute iputils sensors inotify-tools unzip
+ additional_packages+=|net-tools nmap openssl procps psmisc rsync man tig tmux tree vim htop xclip yt-dlp
/home/dsleung/.local/bin/distrobox-assemble: 4: /tmp/tmp.W9wvuoojyi: additional_packages+=|net-tools nmap openssl procps psmisc rsync man tig tmux tree vim htop xclip yt-dlp: not found
+ rm -f /tmp/tmp.W9wvuoojyi

Desktop (please complete the following information):

Additional context

DonaldKellett commented 1 year ago

Just occurred to me to check the Bash version on deepin 23 Beta: 5.1.8(1)-release

The latest upstream version appears to be 5.2.15 at the time of writing. Might this issue be due to an outdated Bash version that doesn't support the language features required by distrobox-assemble?

profetik-777 commented 1 year ago

That is a good working theory. Given that we are limited w/ volunteers / support, I would recommend firing up a virtual machine and giving it a try in another system that has 1.5 + appropriate bash version.

I might take a stab at testing this myself, but you might beat me to it.

profetik-777 commented 1 year ago

@89luca89 - feel free to close this. Confirm this is not a bug, as i was successfully able to use distrobox-assemble as instructed via OP with distrobox 1.5.

See below:

image

Unless OP @DonaldKellett rules out the older bash version - and still doesn't work - consider opening new bug.

DonaldKellett commented 1 year ago

@profetik-777 Thanks for testing the provided example. May I ask which distribution and Bash version is in use?

I might give it another try on both deepin 23 Beta and another distribution with a newer Bash version, e.g. Fedora 38, to confirm whether the outdated Bash version is indeed the culprit. If so, I would recommend stating the minimal supported Bash version for distrobox-assemble 1.5.0 so users know what to expect

ping @BLumia

DonaldKellett commented 1 year ago

Indeed, the example fails to parse with Bash 5.1.8:

Screenshot_deepin-terminal_20230620111428

But works as intended with Bash 5.2.15:

Screenshot from 2023-06-20 11-58-17

Screenshot from 2023-06-20 11-59-24

Screenshot from 2023-06-20 12-10-19

Would it be safe to say that distrobox-assemble 1.5.0 requires Bash >= 5.2.0?