Сценарий строки -, который вы вызываете, является одинарным -цитируемым (, как и должно быть ). Это означает, что оболочка sh -c
получит скрипт, в котором "${SearchTerm}"
не раскрыт. Поскольку в этой оболочке нет переменной SearchTerm
, ее значение будет пустым.
Поскольку вы отметили свой вопрос тегом bash , вы можете передать имя экспортируемой функции:
# Our find function.
# Takes the name of a test function that will be called
# with the pathname of a directory.
myfind () {
local thetest="$1"
# Run find, passing the name of the function into the in-line script.
find. -type d -exec bash -c '
testfunc=${1:-:}; shift
for dirpath do
"$testfunc" "$dirpath" && printf "%s\n" "$dirpath"
done' bash "$thetest" {} +
}
# Our test function.
test_md_file () {
[ -f "$1/${1##*/}.md" ]
}
export -f test_md_file
# Run the thing.
myfind test_md_file
testfunc=${1:-:}
в коде будет назначать $1
на testfunc
, если он доступен и не пуст, в противном случае он будет использовать :
в качестве теста (утилита no -op, которая возвращает true ).
arecord -f cd - | aplay -
Должен сделать это, но это может привести к довольно неприятным последствиям, если вы не используете наушники.
Также читайте эту тему:https://askubuntu.com/questions/123798/how-to-hear-my-voice-in-speakers-with-a-mic