私はスクリプトの初心者で、次の問題があります。
fuser
コマンドを使用して、その名前のファイルが存在するかどうかを確認したいと考えています。コマンドの出力を保存し、後でそれを使用して、ロードする前にファイルの名前を変更したいと考えています。
私は次のことを試しました:
#!/bin/bash
file_name='test'
echo 'file_name before: '$file_name
file_name=`fuser FILE_DIR/SD/Test_file_??????????????.dat`
echo 'file_name after: '$file_name'
ただし、上記のコードの結果は次のとおりです。
-bash-3.00$ script.sh
file_name before :test
FILE_DIR/SD/Test_file_20180823120345.dat
file_name after:
コマンドの出力が変数に保存されず、画面に表示され、その理由がわかりません!
私がやりたいことはTest_file_20180823120345.dat
、変数に保存し、 file_name
そこからタイムスタンプを削除して、ファイルの名前をTest_file_20180823.dat
.
次に、ステージング テーブルにデータを再度ロードした後、ファイルの名前を受け取った古いファイル名に変更し、ファイルを元の名前でアーカイブします。