Просто:
echo "$VARIABLENAME"
Например, для переменной окружения $HOME
используйте:
echo "$HOME"
Которая затем выводит нечто подобное:
/home/username
Edit: согласно комментарию Стефана Шазеласа, может быть лучше использовать printenv
вместо echo
:
printenv HOME
Текущая версия Cloud Shell создает частную виртуальную машину для максимальной гибкости. Но фактическая оболочка, которую он показывает, работает внутри контейнера. Контейнер очень привилегированный, но поскольку он использует отдельное пространство имен PID, вы не можете видеть процессы вне контейнера.
$ amicontained
Container Runtime: kube
Has Namespaces:
pid: true
user: false
AppArmor Profile: unconfined
Capabilities:
BOUNDING -> chown dac_override dac_read_search fowner fsetid kill setgid setuid setpcap linux_immutable net_bind_service net_broadcast net_admin net_raw ipc_lock ipc_owner sys_module sys_rawio sys_chroot sys_ptrace sys_pacct sys_admin sys_boot sys_nice sys_resource sys_time sys_tty_config mknod lease audit_write audit_control setfcap mac_override mac_admin syslog wake_alarm block_suspend audit_read
Chroot (not pivot_root): false
Seccomp: disabled
Привилегированные контейнеры можно экранировать с помощью нескольких тщательно продуманных команд оболочки. Это не уязвимость в системе безопасности, это просто использование не по назначению. (Не злоупотребляйте ресурсами Cloud Shell. Вы можете быть уверены, что Google что-то знает о мониторинге использования ресурсов виртуальных машин ).
. Я смог смонтировать devtmpfs, создать несколько каналов, использовать core_pattern
, чтобы открыть оболочку на /dev/fifo_in
/ /dev/fifo_out
. Внутри оболочки я повторно -ввел только пространство имен контейнеров mount . Тогда достаточно смонтировать /proc поверх -с новым монтированием procfs. После этого я мог бы открыть top
на другой вкладке Cloud Shell, и там было бы показано пространство имен хоста PID.
Допустим, они еще (еще )не оптимизировали использование незанятых ресурсов.
top - 12:50:14 up 2:58, 3 users, load average: 0.01, 0.05, 0.04
Tasks: 127 total, 1 running, 96 sleeping, 0 stopped, 1 zombie
%Cpu(s): 3.1 us, 1.5 sy, 0.0 ni, 95.4 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 1735912 total, 444240 free, 351448 used, 940224 buff/cache
KiB Swap: 0 total, 0 free, 0 used. 1215836 avail Mem
USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
root 20 0 413140 58704 26008 S 2.7 3.4 4:31.18 kubelet
root 20 0 378940 46260 15912 S 0.6 2.7 1:03.18 dockerd
root 20 0 184008 9760 5408 S 0.1 0.6 0:14.27 python
alan_ch+ 20 0 644372 12392 6584 S 0.1 0.7 0:00.07 python
root 20 0 66364 33976 33472 S 0.1 2.0 0:10.34 systemd-journal
root 20 0 292264 22488 13616 S 0.1 1.3 0:04.56 docker-containe
root 20 0 369808 64224 36928 S 0.1 3.7 0:03.81 dockerd
root 20 0 365684 6408 3668 S 0.1 0.4 0:06.00 docker-containe
alan_ch+ 20 0 58060 20272 7560 S 0.0 1.2 0:01.27 python
root 20 0 0 0 0 I 0.0 0.0 0:04.42 rcu_sched