Compare commits

...

3 Commits

Author SHA1 Message Date
Shaheen Gandhi 6f8521dc71
Merge 44ade697bf into 7ff836131a 2026-03-11 10:05:41 -03:00
Kevin Ji 7ff836131a
fix(gcloud): prevent gcloud CLI from hanging (#2935)
If the `gcloud` command is interactive (e.g. asks to install a component, or needs an update), the current code will hang forever, and is uninterruptible as `INT` is being swallowed.

Fix this with `</dev/null` and `--quiet`.
2026-03-11 09:09:44 +08:00
Shaheen Gandhi 44ade697bf ssh: optimize detection 2024-10-15 22:45:19 -07:00
1 changed files with 5 additions and 2 deletions

View File

@ -4716,7 +4716,9 @@ _p9k_gcloud_prefetch() {
if ! _p9k_cache_stat_get $0 ${CLOUDSDK_CONFIG:-~/.config/gcloud}/configurations/config_$P9K_GCLOUD_CONFIGURATION; then if ! _p9k_cache_stat_get $0 ${CLOUDSDK_CONFIG:-~/.config/gcloud}/configurations/config_$P9K_GCLOUD_CONFIGURATION; then
local pair account project_id local pair account project_id
pair="$(gcloud config configurations describe $P9K_GCLOUD_CONFIGURATION \ pair="$(gcloud config configurations describe $P9K_GCLOUD_CONFIGURATION \
--format=$'value[separator="\1"](properties.core.account,properties.core.project)')" --quiet \
--format=$'value[separator="\1"](properties.core.account,properties.core.project)' \
</dev/null)"
(( ! $? )) && IFS=$'\1' read account project_id <<<$pair (( ! $? )) && IFS=$'\1' read account project_id <<<$pair
_p9k_cache_stat_set "$account" "$project_id" _p9k_cache_stat_set "$account" "$project_id"
fi fi
@ -8494,7 +8496,8 @@ _p9k_init_ssh() {
# When changing user on a remote system, the $SSH_CONNECTION environment variable can be lost. # When changing user on a remote system, the $SSH_CONNECTION environment variable can be lost.
# Attempt detection via `who`. # Attempt detection via `who`.
(( $+commands[who] )) || return [[ -z "$(command -v who)" ]] && return
#(( $+commands[who] )) || return
local ipv6='(([0-9a-fA-F]+:)|:){2,}[0-9a-fA-F]+' # Simplified, only checks partial pattern. local ipv6='(([0-9a-fA-F]+:)|:){2,}[0-9a-fA-F]+' # Simplified, only checks partial pattern.
local ipv4='([0-9]{1,3}\.){3}[0-9]+' # Simplified, allows invalid ranges. local ipv4='([0-9]{1,3}\.){3}[0-9]+' # Simplified, allows invalid ranges.