[英]Bash Scripting Export Filename to Variable
我正在尝试将变量设置为表示文件位置的字符串,当我尝试设置变量时,我不断收到“权限被拒绝”错误,因为 bash 脚本正在尝试执行该文件。
这是我正在使用的代码
date= 07062011
archive_dir=~/Documents/ABC/Testing
aggregate_file= `echo ${archive_dir}"/"${date}"_Aggregated.txt"`
我得到的错误如下:
./8000.2146701.sh:第 32 行:/home/me/Documents/ABC/Testing/20110706_Aggregated.txt:权限被拒绝
据我了解,使用反引号应该允许我将命令的 output 放入变量中,但它似乎不起作用。 当我自己执行 echo 语句时,output 是文件路径。
谢谢。
直接的问题是以下空间:
aggregate_file=
那是:
aggregate_file= `echo ${archive_dir}"/"${date}"_Aggregated.txt"`
只需删除赋值运算符后的空格即可:
aggregate_file=`echo ${archive_dir}"/"${date}"_Aggregated.txt"`
但实际上它应该是:
aggregate_file="${archive_dir}/${date}_Aggregated.txt"
不要使用反引号和回显,只需aggregate_file="${archive_dir}/${date}_Aggregated.txt"
。 正如另一张海报提到的那样,没有空格。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.