ディレクトリとcd
を作成しようとしています:
function abc() {
appname=$1
appdir="$HOME/code/$appname"
if [ mkdir $appdir -a cd $appdir ]; then
echo Success
else
echo Failed to create and switch directory
fi
}
Bashrc(. ~/.bashrc
)をリロードすると、エラーが発生します。
bash: [: too many arguments
Failed to create and switch directory
どうすれば修正できますか?エラーの[:
はどういう意味ですか?
Ps。「暗号化されていない」bashスクリプトチュートリアルを教えてもらえますか?
スクリプトの主なエラーは、test
コマンドに相当する[
コマンドを使用して、文字列比較、ファイルの存在などの条件をテストすることです。
プロセスの終了ステータスをテストするには、[
なしでif
を使用する必要があるため、スクリプトは
if mkdir "$appdir" && cd "$appdir"; then
echo "Success"
else
echo "Failed to create and switch directory"
fi
これは Bash Pitfalls:9. if [grep foo myfile で説明されています。
GrayCat Bash Guide を読んでbashを理解することをお勧めします。