変数を別の変数に保存

変数を別の変数に保存

forループ内のある変数の内容を別の変数に保存しようとしていますが、次の結果が表示されます。

0403-006 Execute permission denied

助ける。

while IFS='|' read -r col1 col2 col3 col4 col5 col6 col7
do 
for f in directory/*
    do
        files=$($f | awk -F "_" '{print $3}')
        echo $files
    done
done <test.txt

私はこのプログラムを実行するための完全な権限を持っており、echo $filesと入力するとエラーが発生します。

ベストアンサー1

スクリプトが実行する操作は非常に不明瞭で、完全に間違っているようです。正確に何が間違っていて何を達成したいのかを知るには、より詳細な情報を提供する必要があります。私の考えでは、エラーは次の行で発生するようです。

files=$($f | awk -F "_" '{print $3}')

特にここで何が起こっているのかを理解する必要があります。

$f | awk -F "_" '{print $3}'

実行中です$f。これはファイルの1つですdirectory/*。そのうちの1つは0403-006実行できないことです。

変数などcol1はどうですかcol2?読み取ったデータはtest.txtまったく使用されません。

私の推測が正しい場合でもスクリプトは正常に見えないため、入力データと予想される出力を含む最小限の完全な例を提供してください。

おすすめ記事