変数が定義されていない場合にbashが実行されないようにする方法

変数が定義されていない場合にbashが実行されないようにする方法
#!/bin/bash       
$myval=/home
ls $mval <- unexpected misspelling

$mvallsコマンドが定義されていないために実行されるのを防ぐ方法はありますか?

ノートタイプミスがあるため、存在するかどうかを確認できません。設定できる追加のプロパティを探しています。

答え1

set -u設定されていない変数を拡張しようとすると、中断オプションを使用してこれを実行できます。ただし、これは$myval=/home有効な構文ではないため、変数は設定されません。を削除する必要があります$

#!/bin/bash 

set -u
     
myval=/home
ls "$mval"

- ゆう

設定されていない変数と特殊パラメータ「@」、「*」以外のパラメータは、パラメータ拡張時にエラーとして扱われます。エラーメッセージが標準エラーに書き込まれ、非対話型シェルが終了します。

関連情報