お知らせ:


 ◇ YouTube Apple Japan チャンネル で有用なヒントや使い方を配信中です。
 ◇ iOS 向け Apple サポート App のバージョン 2.4.1 が公開されました。

しばらく返答が寄せられていないようです。 再度ディスカッションを開始するには、新たに質問してください。

質問:

質問: シェル起動アーギュメント

コマンドラインからコマンド名と引数を入力、return を叩いでコマンド起動するのは UNIX に共通の機能ですが、小生のコマンド CryptOneX.bash(引数10個に拡大)を起動するとセグメンテーションフォールトが起こってコマンド起動ができません。シェルの環境を起動するときに引数の最大個数を指定するなり、コマンド起動を可能にする方策はありませんか。これでは開発が進みません。宜しくご教示のほどお願いいたします。bash を常々利用しています。

iMac, Mac OS X v10.7.2 Lion

投稿日

返信
スレッドに付いたマーク 参考になった

2017/12/25 15:54 和行103 への返信 和行103 への返信

和行103 による書き込み:


コマンドラインからコマンド名と引数を入力、return を叩いでコマンド起動するのは UNIX に共通の機能ですが、小生のコマンド CryptOneX.bash(引数10個に拡大)を起動するとセグメンテーションフォールトが起こってコマンド起動ができません。シェルの環境を起動するときに引数の最大個数を指定するなり、コマンド起動を可能にする方策はありませんか。これでは開発が進みません。宜しくご教示のほどお願いいたします。bash を常々利用しています。

コマンド入力において引数に個数制限はありません。

ただコマンドライン全体での最大文字数制限があるだけです。

この文字数制限は"*"や"?"といったワイルドカードを展開した結果に対して適用されます。

ちなみにOS Xでは、この最大文字数はコマンド「sysctl kern.argmax」で確認できます。

実効例:

$ sysctl kern.argmax

kern.argmax: 262144


なお、シェルスクリプト中で数字で直接参照できる引数は$1〜$9の9個のみです。($10は$1+"0"に置き換えられる)

それ以降を参照したい場合は「shift」コマンドを併用するか、$BASH_ARGV[10]のように配列としてアクセスする必要があります。

# 後者はbash独自の拡張機能で他のシェル(Born Shell等)にはありません。

ディスカッションを部分的に表示しています

返信をすべて表示

ページコンテンツが読み込まれました

スレッドに付いたマーク 参考になった

2017/12/25 15:54 和行103 への返信 和行103 への返信

和行103 による書き込み:


コマンドラインからコマンド名と引数を入力、return を叩いでコマンド起動するのは UNIX に共通の機能ですが、小生のコマンド CryptOneX.bash(引数10個に拡大)を起動するとセグメンテーションフォールトが起こってコマンド起動ができません。シェルの環境を起動するときに引数の最大個数を指定するなり、コマンド起動を可能にする方策はありませんか。これでは開発が進みません。宜しくご教示のほどお願いいたします。bash を常々利用しています。

コマンド入力において引数に個数制限はありません。

ただコマンドライン全体での最大文字数制限があるだけです。

この文字数制限は"*"や"?"といったワイルドカードを展開した結果に対して適用されます。

ちなみにOS Xでは、この最大文字数はコマンド「sysctl kern.argmax」で確認できます。

実効例:

$ sysctl kern.argmax

kern.argmax: 262144


なお、シェルスクリプト中で数字で直接参照できる引数は$1〜$9の9個のみです。($10は$1+"0"に置き換えられる)

それ以降を参照したい場合は「shift」コマンドを併用するか、$BASH_ARGV[10]のように配列としてアクセスする必要があります。

# 後者はbash独自の拡張機能で他のシェル(Born Shell等)にはありません。

2017/12/25 15:54

返信 参考になった (2)
ユーザのユーザプロフィール: 和行103

質問: シェル起動アーギュメント