所以,我开始在学习bash的测试环境中取得一些不错的进展。我现在仍然在学习基础知识,并且谷歌已经搜索了大约一个小时了。
我试图为此基本上所有部分创建变量,因此它很容易更改 - 从目录到文件路径名。
**
My current code:
parent_directory='/home/local/test_scripts'
directory_name='app_ms'
directory_output='1..4'
file_name='test'
file_output='log,out'
file_repeat='1..10'
mkdir -p $parent_directory $parent_location/$directory_name{directory_output};
touch $parent_directory/$parent_location/$directory_name{directory_output}/$file_name{file_output} $file_name{file_output}.{file_repeat}
**
直到我取消括号 - {file_repeat}的时候,一切都按照我预期的方式工作。
理想情况下,我希望输出代表:
**mkdir -p /home/local/test_scripts /home/local/test_scripts/app_ms{1..4}
touch /home/local/test_script/app_ms{1..4}/test.{log, out}
touch /home /local/test_script/app_ms{1..4}/test.{log, out}.{1..4}**
TL; DR:尝试在括号内创建多个文件时,我是否遗漏了某些内容?当我在里面调用一个变量时,它只创建一个名为" app_ms {1..4}"的目录。当我使用变量调用方法时。如果我直接输入它,它会创建app_ms1,app_ms2,app_ms3和app_ms4,并在文件夹中创建我想要的所有文件。
答案 0 :(得分:0)
扩展订单并非如此。变量扩展的结果不是支撑扩展。所以你可以将这些字符串作为输出,但你不能(不需要eval
你不想要的)让shell以这种方式运行它们。
有关详细信息及其执行顺序,请参阅Shell Expansions。