Ваш сценарий — это поиск указанного файла.
Причина, по которой вы видите две пустые строки вместо ожидаемых имен путей, заключается в том, что сценарий получает $LOCAL_SHELL_CONFIG_FILE
из вашей функции «execute()
», которая запускает команды в фоновом режиме (, то есть в подоболочка ).
Вложенные оболочки не могут изменять среду родительской оболочки.
Вы можете получить его черезprintf
встроенный .
With the numeric format specifiers, if the corresponding argument starts with a quote character, the numeric value of the following character is used as the number to print
Чтобы сохранить кодовую точку в числовой переменной:
printf -v code_point %d \'$s[2]
Чтобы распечатать кодовую точку в шестнадцатеричном представлении:
printf '%04x\n' \'$s[2]
Индексирование выполняется с помощью ${s :start :length}, а затем преобразуется в шестнадцатеричное с помощью printf с %x. Вы можете выполнить дальнейшее форматирование с помощью printf, если хотите.
printf '%x\n' "'${s:1:1}'"