条件に基づいていくつかのコマンドを実行するスクリプトを作成しました。ディレクトリにファイルが含まれている場合は、「screen -r」を実行します。それ以外の場合は「screen」を実行します。問題は、ディレクトリにファイルが含まれている場合でも画面が実行されることがあります。
if [ "$(ls -A $DIR)" ]; then
screen -r
else
screen
fi
私がやりたいのは、それを改良して 2 つのステートメントに分解することです。ディレクトリにファイルが含まれている場合は screen-r" を実行し、ディレクトリにファイルが含まれていない場合は "screen" を実行します
if [ "$(ls -A $DIR)" ]; then
screen -r
fi
&
if ["$(directory without files)"] ; then
screen
fi
# of file に基づいて実行されるステートメントでさえあるかもしれません。ディレクトリに X 個のファイルが含まれている場合。
誰かがこれで私を助けることができますか? 私が欲しいものを徹底的に説明したことを願っています。
ありがとう、
ジェフリー
繰り返しますが、すべての助けに感謝します。すべてが機能するようになりました。これが最終的なスクリプトです。これは iPhone 用で、私が作成している MobileTerm Backgrounder というアプリ用です。
#Sets up terminal environment?
if [[ $TERM = network || -z $TERM ]]; then
export TERM=linux
fi
# This script automatically runs screen & screen -r (resume) based on a set of conditions.
# Variable DIR (variable could be anything)
DIR="/tmp/screens/S-mobile"
# if /tmp/screens/S-mobile list files then run screen -x
if [ "$(ls -A $DIR)" ]; then
screen -x
fi
#if /tmp/screens/S-mobile contains X amount of files = to 0 then run screen -q
if [ $(ls -A "$DIR" | wc -l) -eq 0 ]; then
screen -q
fi