私はクラス名を引数として使用するbashスクリプトを.shに書きました。このスクリプトを実行すると、class
スクリプトと同じスペースにディレクトリが作成されます。
次に、ディレクトリ内のパラメータから受け取ったクラス名と同じクラス名を持つPHPファイルを作成しますclass
。ただし、同じファイルがすでに存在する場合は、プログラムを終了してください。
問題:Microsoft Windowsでは動作しますが、Gnu / Linuxでも実行する必要があります。
これは私のものです。.sh
#!/bin/bash
CURRENT_PATH="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
mkdir -p $CURRENT_PATH/class
cd $CURRENT_PATH/class
if [ -f "[email protected]" ];
then
exit 1
else
echo "class $@
{
}" > [email protected]
fi
ベストアンサー1
私が見る唯一の問題は、引用符が欠落していることです。そのため、ディレクトリ/ファイル名にスペースが含まれているとエラーが発生します。
#!/bin/bash
current_path="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
mkdir -p "$current_path/class"
cd "$current_path/class"
if [ -f "$1.php" ];
then
exit 1
else
echo "class $1
{
}" > "$1.php"
fi
使い方に関する質問もあります"$@"
。欲しいですか?そんな意味でしたか"$*"
?
そして変数名は小文字でなければなりません。これがどのように問題を引き起こすのか理解していませんが、バグが発生するのを待っています。
実行すると、shellcheck
ほとんどのエラーが検出されます。