現在の作業ディレクトリのサフィックスを含むすべてのファイルを指定.sh
されたディレクトリに移動する簡単なスクリプトを作成しました。
これらのファイルがない場合、スクリプトはシステムエラーメッセージではなく、私が入力したエラーメッセージのみを出力する必要があります。mv: cannot stat ‘*.sh’: No such file or directory
./shm 2> /dev/null
putコマンドの後に追加しようとしたので、mv
スクリプトは無限に実行されました!
システムエラーメッセージを無音にする方法は?
#!/bin/bash
echo "Moving all script files to script directory..."
mv *.sh $HOME/linux/scripts
#./shm 2> /dev/null
if [ $? -ne 0 ]
then
echo "No files with .sh suffix"
fi
ベストアンサー1
私はこれがエラーメッセージを取り除く誤った方法だと思います。私のような場合は、確認に使用する方が良いです。
#!/bin/bash
if ls *.sh &> /dev/null
then
echo "Moving all script files to script directory..."
mv -v -n *.sh $HOME/linux/scripts
else
echo "No files with .sh suffix -- nothing to move"
fi