как определить функции в терминале в нескольких строках?
# this doesn't work
function my_func { \
echo "number 5" \
}
Очень просто. Но все равно надоедливо.
решение1
Вам не нужно \
продолжать строки здесь. Попробуйте:
function my_func {
echo "number 5"
}
Ключевое function
слово не является обязательным, вместо него можно использовать funcname () {...}
:
my_func() {
echo "number 5"
}
Кстати, причина, по которой это не работает, заключается в том, что обратные косые черты делают определение функции одной строкой, а однострочные определения функций ;
в bash должны заканчиваться на .
например, это не удается:
my_func () { echo "number 5" }
это работает:
my_func () { echo "number 5" ; }
как и это:
function my_func { \
echo "number 5" \
; \
}