你可以這麼寫,把目錄下file_1,file_2,file_3 檔名儲存在一個文字檔案裡,
這個檔案叫file.txt,格式一行一個檔名。比如指令碼叫test.sh
使用:./test.sh file.txt
這樣就迴圈讀取文字中每行的檔名並代入到變數filename
或者你也可以透過files=($(ls -l | grep ^- | awk "{print $8}"))
擷取一個files陣列然後,for filename in ${files[*]} 往for迴圈裡套。
#!/bin/bash
while read filename
do
sqlplus -S g471725/g471725 <<EOF
define v_input_file=$filename
@sql.sql
exit
EOF
done < $1
你可以這麼寫,把目錄下file_1,file_2,file_3 檔名儲存在一個文字檔案裡,
這個檔案叫file.txt,格式一行一個檔名。比如指令碼叫test.sh
使用:./test.sh file.txt
這樣就迴圈讀取文字中每行的檔名並代入到變數filename
或者你也可以透過files=($(ls -l | grep ^- | awk "{print $8}"))
擷取一個files陣列然後,for filename in ${files[*]} 往for迴圈裡套。
#!/bin/bash
while read filename
do
sqlplus -S g471725/g471725 <<EOF
define v_input_file=$filename
@sql.sql
exit
EOF
done < $1