我正在尝试创建一个脚本,允许我将歌曲列表写入文本文件,格式如下:
#01 - Artist - Title
#02 - Artist - Title
#03 - Artist - Title
#04 - Artist - Title
etc.
我从Spotify导出艺术家和标题,并且在某些情况下需要手动调整某些格式。我现在将手动执行此操作,但可能会尝试稍后自动执行此操作。现在我想把艺术家 - 标题放在TRACKS变量中,并希望运行脚本以使用#NUMBER - Artist - Title
来添加它。我目前正在使用echo "${NL}"
来测试我的输出在将其写入文件之前是否正确输出。
#!/usr/bin/env bash
TRACKS=$(cat <<-END
Artist - Title
Artist - Title
Artist - Title
Artist - Title
END
)
$NL=$(echo "${TRACKS}" | nl -nrz -w2 -s" - " -)
echo "${NL}"
我遇到的问题是,无论我如何使用命令nl如下所述,或仅仅作为$NL=nl inputfile.txt
脚本返回"command not found"
。我不知道为什么我不能在变量中使用它。我已经尝试过指定二进制文件的确切路径而没有运气。它的唯一工作方式是将其用作nl inputfile.txt
而不将其指定为变量。基本上与直接从命令行运行它相同。
答案 0 :(得分:2)
执行作业时不要使用美元符号:
改变这个:
$NL=$(echo "${TRACKS}" | nl -nrz -w2 -s" - " -)
To This:
NL=$(echo "${TRACKS}" | nl -nrz -w2 -s" - " -)