Давайте рассмотрим пример,
scriptPath = / home / sharath / Downloads / Atollic_TrueSTUDIO_for_STM32_9.2.0_installer
В приведенной выше строке кода, если пользователь«sharath», то он может получить доступ к файлу / папке таким же образом, если пользователь другой, как может динамически получить доступ к этой папке / файлу.
ниже мой сценарий (файл .sh):
#!/bin/bash
set -eu
configLocation=/etc/atollic
scriptPath=/home/sharath/Downloads/Atollic_TrueSTUDIO_for_STM32_9.2.0_installer
family=STM32
arch=x86_64
version=9.2.0
configFile=${configLocation}/TrueSTUDIO_for_${family}_${arch}_${version}.properties
installPath=/opt/Atollic_TrueSTUDIO_for_${family}_${arch}_${version}/
mkdir -p /opt/Atollic_TrueSTUDIO_for_STM32_x86_64_9.2.0/
tar xzf ${scriptPath}/install.data -C /opt/Atollic_TrueSTUDIO_for_STM32_x86_64_9.2.0/
В последней строке скрипта $ {scriptPath} различен для другого пользователя, как это можно сделать в скрипте оболочки.
Обновление 1:
, если я использую, $ {USER} или$ {HOME} или whoami, которое возвращает «root», Вот мой журнал:
tar (child): /root/Downloads/Atollic_TrueSTUDIO_for_STM32_9.2.0_installer/install.data: Cannot open: No such file or directory tar (child): Error is not recoverable: exiting now
Обновление 2:
В настоящее время пользователь в «root»