【发布时间】:2021-09-03 03:30:48
【问题描述】:
我希望动态获取文件夹中的第一个文件。到目前为止我所尝试的:
get_first_file () {
local folder_name=$1
filenames=`ls $folder_name/*`
first_file=(echo ${filenames} | awk '{print $1}')
get_first_file my_folder
这会产生以下错误:
my_shell_script.sh: line 4: syntax error near unexpected token `|'
my_shell_script.sh: line 4: ` first_file=(echo ${filenames} | awk '{print $1}')'
请帮助我理解这个错误的含义,以及如何解决它。
【问题讨论】:
-
您有基本的语法错误。有更大的问题,但语法错误可以通过以下方式解决:
get_first_file () { local dir=$1; filenames=$(ls $dir/*); first_file=$(echo ${filenames} | awk '{print $1}'); } -
特别是,您缺少进程替换上的
$和函数定义上的终止}。 -
谢谢你,@WilliamPursell,正是我所需要的。如果你把评论内容变成答案,我可以接受。
标签: string bash function input awk