Я создал файл с именем x.sh в каталоге /etc/profile.d/, поэтому он должен быть доступен для всех пользователей. Я ожидал, когда я изменю текущего пользователя в терминале (зарегистрированного пользователя) с помощью команды sudo su other_user, те переменные, которые я установил в файле x.sh, должны быть доступны, но они нет. Как я могу установить переменные как доступные?
/etc/profile (и, следовательно, /etc/profile.d) читается для систем входа. sudo su other_user не запускает оболочку входа. Это плохая практика, она оставляет среду, загрязненную переменными от первоначального пользователя. Вы должны выполнить любую из этих команд:
sudo -iu other_user
sudo su - other_user
Обе эти нагрузки /etc/profile, поскольку они запускают оболочки входа, и оба начинают с относительно чистых сред.
В идеале, хотя , переменные должны быть установлены в /etc/environment, если это возможно. Этот файл должен быть прочитан su, поэтому переменные там будут доступны независимо от того, запущена ли оболочка входа. Однако этот файл не поддерживает синтаксис оболочки, поэтому, если вам нужен сложный код оболочки для установки ваших переменных, вы не сможете его использовать.
/etc/profile (и, следовательно, /etc/profile.d) читается для систем входа. sudo su other_user не запускает оболочку входа. Это плохая практика, она оставляет среду, загрязненную переменными от первоначального пользователя. Вы должны выполнить любую из этих команд:
sudo -iu other_user
sudo su - other_user
Обе эти нагрузки /etc/profile, поскольку они запускают оболочки входа, и оба начинают с относительно чистых сред.
В идеале, хотя , переменные должны быть установлены в /etc/environment, если это возможно. Этот файл должен быть прочитан su, поэтому переменные там будут доступны независимо от того, запущена ли оболочка входа. Однако этот файл не поддерживает синтаксис оболочки, поэтому, если вам нужен сложный код оболочки для установки ваших переменных, вы не сможете его использовать.
/etc/profile (и, следовательно, /etc/profile.d) читается для систем входа. sudo su other_user не запускает оболочку входа. Это плохая практика, она оставляет среду, загрязненную переменными от первоначального пользователя. Вы должны выполнить любую из этих команд:
sudo -iu other_user
sudo su - other_user
Обе эти нагрузки /etc/profile, поскольку они запускают оболочки входа, и оба начинают с относительно чистых сред.
В идеале, хотя , переменные должны быть установлены в /etc/environment, если это возможно. Этот файл должен быть прочитан su, поэтому переменные там будут доступны независимо от того, запущена ли оболочка входа. Однако этот файл не поддерживает синтаксис оболочки, поэтому, если вам нужен сложный код оболочки для установки ваших переменных, вы не сможете его использовать.
/etc/profile
(и, следовательно, /etc/profile.d
) читается для систем входа. sudo su other_user
не запускает оболочку входа. Это плохая практика, она оставляет среду зараженной переменными от исходного пользователя . Вы должны выполнить любую из этих команд:
sudo -iu other_user
sudo su - other_user
Обе эти нагрузки /etc/profile
, поскольку они запускают оболочки входа, и оба начинают с относительно чистых сред.
В идеале, хотя , переменные должны быть установлены в /etc/environment
, если это возможно. Этот файл следует читать с помощью su
, поэтому переменные там будут доступны независимо от того, запущена ли оболочка входа. Однако этот файл не поддерживает синтаксис оболочки, поэтому, если вам нужен сложный код оболочки для установки ваших переменных, вы не сможете его использовать.
/etc/profile
(и, следовательно, /etc/profile.d
) читается для систем входа. sudo su other_user
не запускает оболочку входа. Это плохая практика, она оставляет среду зараженной переменными от исходного пользователя . Вы должны выполнить любую из этих команд:
sudo -iu other_user
sudo su - other_user
Обе эти нагрузки /etc/profile
, поскольку они запускают оболочки входа, и оба начинают с относительно чистых сред.
В идеале, хотя , переменные должны быть установлены в /etc/environment
, если это возможно. Этот файл следует читать с помощью su
, поэтому переменные там будут доступны независимо от того, запущена ли оболочка входа. Однако этот файл не поддерживает синтаксис оболочки, поэтому, если вам нужен сложный код оболочки для установки ваших переменных, вы не сможете его использовать.
/etc/profile
(и, следовательно, /etc/profile.d
) читается для систем входа. sudo su other_user
не запускает оболочку входа. Это плохая практика, она оставляет среду зараженной переменными от исходного пользователя . Вы должны выполнить любую из этих команд:
sudo -iu other_user
sudo su - other_user
Обе эти нагрузки /etc/profile
, поскольку они запускают оболочки входа, и оба начинают с относительно чистых сред.
В идеале, хотя , переменные должны быть установлены в /etc/environment
, если это возможно. Этот файл следует читать с помощью su
, поэтому переменные там будут доступны независимо от того, запущена ли оболочка входа. Однако этот файл не поддерживает синтаксис оболочки, поэтому, если вам нужен сложный код оболочки для установки ваших переменных, вы не сможете его использовать.
/etc/profile
(и, следовательно, /etc/profile.d
) читается для систем входа. sudo su other_user
не запускает оболочку входа. Это плохая практика, она оставляет среду зараженной переменными от исходного пользователя . Вы должны выполнить любую из этих команд:
sudo -iu other_user
sudo su - other_user
Обе эти нагрузки /etc/profile
, поскольку они запускают оболочки входа, и оба начинают с относительно чистых сред.
В идеале, хотя , переменные должны быть установлены в /etc/environment
, если это возможно. Этот файл следует читать с помощью su
, поэтому переменные там будут доступны независимо от того, запущена ли оболочка входа. Однако этот файл не поддерживает синтаксис оболочки, поэтому, если вам нужен сложный код оболочки для установки ваших переменных, вы не сможете его использовать.
/etc/profile
(и, следовательно, /etc/profile.d
) читается для систем входа. sudo su other_user
не запускает оболочку входа. Это плохая практика, она оставляет среду зараженной переменными от исходного пользователя . Вы должны выполнить любую из этих команд:
sudo -iu other_user
sudo su - other_user
Обе эти нагрузки /etc/profile
, поскольку они запускают оболочки входа, и оба начинают с относительно чистых сред.
В идеале, хотя , переменные должны быть установлены в /etc/environment
, если это возможно. Этот файл следует читать с помощью su
, поэтому переменные там будут доступны независимо от того, запущена ли оболочка входа. Однако этот файл не поддерживает синтаксис оболочки, поэтому, если вам нужен сложный код оболочки для установки ваших переменных, вы не сможете его использовать.
/etc/profile
(и, следовательно, /etc/profile.d
) читается для систем входа. sudo su other_user
не запускает оболочку входа. Это плохая практика, она оставляет среду зараженной переменными от исходного пользователя . Вы должны выполнить любую из этих команд:
sudo -iu other_user
sudo su - other_user
Обе эти нагрузки /etc/profile
, поскольку они запускают оболочки входа, и оба начинают с относительно чистых сред.
В идеале, хотя , переменные должны быть установлены в /etc/environment
, если это возможно. Этот файл следует читать с помощью su
, поэтому переменные там будут доступны независимо от того, запущена ли оболочка входа. Однако этот файл не поддерживает синтаксис оболочки, поэтому, если вам нужен сложный код оболочки для установки ваших переменных, вы не сможете его использовать.
/etc/profile
(и, следовательно, /etc/profile.d
) читается для систем входа. sudo su other_user
не запускает оболочку входа. Это плохая практика, она оставляет среду зараженной переменными от исходного пользователя . Вы должны выполнить любую из этих команд:
sudo -iu other_user
sudo su - other_user
Обе эти нагрузки /etc/profile
, поскольку они запускают оболочки входа, и оба начинают с относительно чистых сред.
В идеале, хотя , переменные должны быть установлены в /etc/environment
, если это возможно. Этот файл следует читать с помощью su
, поэтому переменные там будут доступны независимо от того, запущена ли оболочка входа. Однако этот файл не поддерживает синтаксис оболочки, поэтому, если вам нужен сложный код оболочки для установки ваших переменных, вы не сможете его использовать.
/etc/profile
(и, следовательно, /etc/profile.d
) читается для систем входа. sudo su other_user
не запускает оболочку входа. Это плохая практика, она оставляет среду зараженной переменными от исходного пользователя . Вы должны выполнить любую из этих команд:
sudo -iu other_user
sudo su - other_user
Обе эти нагрузки /etc/profile
, поскольку они запускают оболочки входа, и оба начинают с относительно чистых сред.
В идеале, хотя , переменные должны быть установлены в /etc/environment
, если это возможно. Этот файл следует читать с помощью su
, поэтому переменные там будут доступны независимо от того, запущена ли оболочка входа. Однако этот файл не поддерживает синтаксис оболочки, поэтому, если вам нужен сложный код оболочки для установки ваших переменных, вы не сможете его использовать.
sudo su - other_user
работала, PLS редактировать.
– Soheil Pourbafrani
20 November 2017 в 12:56
the command not found
, может быть, вы имеете в виду sudo su -l other_user
– Soheil Pourbafrani
20 November 2017 в 13:10
sudo su
, команда sudo
существует и явно выполняется вами. o.o
– Olorin
20 November 2017 в 13:12
Следуя Как постоянно устанавливать переменные среды · U & amp; L bash загрузит
/etc/profile
, так что это подходящее место для добавления переменных, эффективных для всех пользователей.
Следуя Как постоянно устанавливать переменные среды · U & amp; L bash загрузит
/etc/profile
, так что это подходящее место для добавления переменных, эффективных для всех пользователей.
Следуя Как постоянно устанавливать переменные среды · U & amp; L bash загрузит
/etc/profile
, так что это подходящее место для добавления переменных, эффективных для всех пользователей.
Следуя Как постоянно устанавливать переменные среды · U & amp; L bash
загрузит
/etc/profile
, так что это подходящее место для добавления переменных, эффективных для всех пользователей.
Следуя Как постоянно устанавливать переменные среды · U & amp; L bash
загрузит
/etc/profile
, так что это подходящее место для добавления переменных, эффективных для всех пользователей.
Следуя Как постоянно устанавливать переменные среды · U & amp; L bash
загрузит
/etc/profile
, так что это подходящее место для добавления переменных, эффективных для всех пользователей.
Следуя Как постоянно устанавливать переменные среды · U & amp; L bash
загрузит
/etc/profile
, так что это подходящее место для добавления переменных, эффективных для всех пользователей.
Следуя Как постоянно устанавливать переменные среды · U & amp; L bash
загрузит
/etc/profile
, так что это подходящее место для добавления переменных, эффективных для всех пользователей.
Следуя Как постоянно устанавливать переменные среды · U & amp; L bash
загрузит
/etc/profile
, так что это подходящее место для добавления переменных, эффективных для всех пользователей.
Следуя Как постоянно устанавливать переменные среды · U & amp; L bash
загрузит
/etc/profile
, так что это подходящее место для добавления переменных, эффективных для всех пользователей.
Следуя Как постоянно устанавливать переменные среды · U & amp; L bash
загрузит
/etc/profile
, так что это подходящее место для добавления переменных, эффективных для всех пользователей.
sudo su B
, myVariables для пользователя B не являются доступными!
– Soheil Pourbafrani
20 November 2017 в 12:52