【发布时间】:2018-08-11 01:08:23
【问题描述】:
function y-dl ($URL) {
cd ~/Music/
youtube-dl -f bestaudio --prefer-ffmpeg --extract-audio --audio-format mp3 $URL > /dev/null 2>&1
}
我正在尝试为我的 bash 配置文件编写一个 bash 函数,该函数在 stderr 或 stdout 中没有任何冗长的下载 YouTube 音频,但我收到以下编译错误:
-bash: /Users/mu/.bash_profile: line 11: syntax error near unexpected token `$URL'
-bash: /Users/mu/.bash_profile: line 11: `function y-dl ($URL) {'
我正在尝试来自Passing parameters to a Bash function 的最佳答案的变体,但我无法让它工作。
【问题讨论】:
-
函数在其定义中不采用参数列表。关键字“功能”是多余的。只需写:
y_dl() { ... }(名称中不要使用连字符) -
在函数中,参数是按编号引用的,但您可以明确命名。
local URL=$1 -
回复:
function关键字,参见wiki.bash-hackers.org/scripting/obsolete -
...链接到的答案未显示正在修改的
()字符串。为什么要在这里修改?
标签: bash function unix arguments