繁体   English   中英

Bash 脚本导出文件名到变量

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM