Эта команда sed вернет что-либо (.*) из начала строки (^) до и включит первое появление false, исключая остальные (.*$). [!d0 ]
sed -r 's/^(.*\<false\>).*$/\1/'
Функции в bash не имеют именованных параметров. Вы не можете сделать:
area (foo) { ...
function area (foo) { ...
Вы можете сделать:
area () {
local radius a # set a local variable that does not leak outside the function
radius=$1 # Save the first parameter to local variable
a=$(( 3 * radius * 2 ))
echo "$a"
}
И затем:
echo "$(area "$REPLY")" # use $REPLY as the first argument
Поскольку return устанавливает статус выхода функция, тогда как $(area) использует выход функции. Это разные.
Кроме того, хотя bash не поддерживает арифметику с плавающей запятой, она поддерживает возведение в степень:
$ bash -c 'echo $((3 * 3 ** 2))'
27
Функции в bash не имеют именованных параметров. Вы не можете сделать:
area (foo) { ...
function area (foo) { ...
Вы можете сделать:
area () {
local radius a # set a local variable that does not leak outside the function
radius=$1 # Save the first parameter to local variable
a=$(( 3 * radius * 2 ))
echo "$a"
}
И затем:
echo "$(area "$REPLY")" # use $REPLY as the first argument
Поскольку return устанавливает статус выхода функция, тогда как $(area) использует выход функции. Это разные.
Кроме того, хотя bash не поддерживает арифметику с плавающей запятой, она поддерживает возведение в степень:
$ bash -c 'echo $((3 * 3 ** 2))'
27
Функции в bash не имеют именованных параметров. Вы не можете сделать:
area (foo) { ...
function area (foo) { ...
Вы можете сделать:
area () {
local radius a # set a local variable that does not leak outside the function
radius=$1 # Save the first parameter to local variable
a=$(( 3 * radius * 2 ))
echo "$a"
}
И затем:
echo "$(area "$REPLY")" # use $REPLY as the first argument
Поскольку return устанавливает статус выхода функция, тогда как $(area) использует выход функции. Это разные.
Кроме того, хотя bash не поддерживает арифметику с плавающей запятой, она поддерживает возведение в степень:
$ bash -c 'echo $((3 * 3 ** 2))'
27
Это быстрый скрипт, который принимает вход радиуса, а затем передает его функции area(), а затем возвращает возвращаемое значение.
#!/bin/bash
function area(){
circ=$(echo "3.14 * $1^2" | bc)
}
#Read in radius
read -p "Enter a radius: "
#Send REPLY to function
area $REPLY
#Print output
echo "Area of a circle is $circ"
Пример:
terrance@terrance-ubuntu:~$ ./circ.bsh
Enter a radius: 6
Area of a circle is 113.04
Это быстрый скрипт, который принимает вход радиуса, а затем передает его функции area(), а затем возвращает возвращаемое значение.
#!/bin/bash
function area(){
circ=$(echo "3.14 * $1^2" | bc)
}
#Read in radius
read -p "Enter a radius: "
#Send REPLY to function
area $REPLY
#Print output
echo "Area of a circle is $circ"
Пример:
terrance@terrance-ubuntu:~$ ./circ.bsh
Enter a radius: 6
Area of a circle is 113.04
Это быстрый скрипт, который принимает вход радиуса, а затем передает его функции area(), а затем возвращает возвращаемое значение.
#!/bin/bash
function area(){
circ=$(echo "3.14 * $1^2" | bc)
}
#Read in radius
read -p "Enter a radius: "
#Send REPLY to function
area $REPLY
#Print output
echo "Area of a circle is $circ"
Пример:
terrance@terrance-ubuntu:~$ ./circ.bsh
Enter a radius: 6
Area of a circle is 113.04