当我运行调用第二个脚本的第一个脚本时,没有创建文件。
但是,当我使用与“echo”上显示的代码相同的代码直接调用第二个 时,会按预期运行 “。 因此,我真的不知道什么是错的,因为代码是单独运行的。
./ first_script.sh 2 ../ espn
第一个脚本:
#!/bin/bash
echo "$2/$1" > format.temp
format=$(<format.temp)
format=$format"g.t*"
echo "./second_script.sh $format"
./second_script.sh $format
这是第二个脚本的代码(嵌套的):
#!/bin/bash
files=$1*/discover/*data
for file in $files
do
sed 's/"\([^"]*\)"/"foo"/' $file > $file\_2
sed -i 's/"foo",//g' $file\_2
sed -i 's/[0-9]g//gi' $file\_2
sed -i 's/[^,.0-9]//g' $file\_2
done
的注意 - &GT; 的 文件位于文件夹中:
../ ESPN / 2g.tf /发现/
../ ESPN / 2g.tfidf /发现/
答案 0 :(得分:1)
注意 - &GT;文件位于文件夹中:
../ ESPN / 2g.tf /发现/
../ ESPN / 2g.tfidf /发现/
这是什么意思?第一个目录中的第一个文件和第二个目录 我认为您的问题在于访问第二个文件的路径
尝试使用abslute path('path from /')来调用第二个脚本 如果 espn 在您的主文件夹
中~/espn/2g.tfidf/discover/second_script.sh $format
尝试在第二个文件中添加echo statments以确保其可访问