我对这个 bash 变量做错了什么?

我对这个 bash 变量做错了什么?

如何将变量插入命令中?在下面的情况下,我需要将命令与变量文件名连接起来。

#!/bin/bash

# Define a timestamp function
timestamp() {
  date +"%D-%T" | tr :/ -
}

# Define the file name
value=$(timestamp)
filename= "/home/pi/media/$value.h264"

#Recording
raspivid -w 800 -h 600 -t 15000 -o $filename -n -rot 270

#Terminate the script
exit

答案1

后面不能加空格filename= ,去掉空格就可以了。

答案2

为什么首先将 分配timestampvalue?你可以这样做:

filename="/home/pi/media/"$(timestamp)".h264"

并且您应该在录制命令中引用文件名(以防路径中有空格等):

#Recording
raspivid -w 800 -h 600 -t 15000 -o "$filename" -n -rot 270

相关内容