ユーザーが2番目の変数を渡したかどうかを確認したいシェル関数があります。私はこれを試しましたが、うまくいかないようです
function dash() {
if [ -z "$2" ]; then
open dash://$1:$2;
else
open dash://$1;
fi
}
基本的に、2 番目の引数$2
が渡された場合は「X」を実行し、それ以外の場合は「Y」を実行します。
$#
渡された引数の数を与える
if [ $# -eq 2 ]
then
echo "2 arguments passed"
fi
「-z」はヌル文字列をテストします。したがって、それを交換するか、「-n」(null ではない) を使用してください。
function dash() {
if [ -n "$2" ]; then
open dash://$1:$2;
else
open dash://$1;
fi
}
詳細については、次のサイトが役立ちます。
機能はこれで修正できます
function dash() {
if [ "$#" -gt 1 ]; then
open "dash://$1:$2"
else
open "dash://$1"
fi
}
$#
引数の数を確認するために使用できます。また、関数を呼び出すときは、それも引用します。
dash "first argument" "second argument"
または
dash "first argument"
これを行う場合:
first='first argument'
dash $first
1 つだけではなく、2 つの引数 (最初と引数) があります。