В скриптах bash я стараюсь держать свои переменные локальными для функций везде, где могу, а затем пропускаю то, что мне нужно, из функций, таких как ниже.
#!/bin/bash
function FUNCTION() {
local LOCAL="value"
echo "$LOCAL" # return this variable
}
GLOBAL=$(FUNCTION)
echo "$GLOBAL"
Но возможно ли это сделать, включив собственный эхо функции, чтобы, если у функции есть собственные сообщения для вывода, мне не нужно было перехватывать их в переменной
#!/bin/bash
function FUNCTION() {
local LOCAL="value"
echo "$LOCAL" # return this variable
echo "This function is done now" # do not return this variable
}
GLOBAL=$(FUNCTION)
echo "$GLOBAL" # should only echo 'value'
function foo()
синтаксис? Вы можете получить лучшую совместимость с POSIX с меньшим количеством нажатий клавиш.