0

シェルに次のコードがあります

#!/bin/sh

function myfunc
{
   $1=3
   echo "myvar = $myvar"
}

myfunc myvar

期待される結果: myvar = 3

したがって、基本的にスクリプトがしなければならないことはこれです。

関数を呼び出して引数を与えます。その引数を関数内で宣言したいと思います。つまり、関数を呼び出すときに変数の名前を選択します。

しかし、うまくいきません...

4

1 に答える 1

1

次のいずれかが機能します。

let $1=3
export $1=3
local $1=3
eval $1=3

これらの代替手段の中には、より具体的には変数の可視性に関して、副作用があることに注意してください。

于 2013-10-23T19:11:56.843 に答える