
No.2ベストアンサー
- 回答日時:
理屈がわかったので備忘録を兼ねて。
> parameter の最初の文字が感嘆符(!)であり parameter が nameref でない場合、間接参照のレベルが導入されます。
> Bashは、残りの parameter を展開することによって形成された値を新しい parameter として使用します。
> 次に、これが展開され、その値が元の parameter 展開ではなく、残りの展開で使用されます。
> これは、 indirect expansion と呼ばれます。
${!#}
→ $# を展開。 位置パラメータの個数(=$1,$2..等の最後の数字)になる
→ ${上記の数字} として展開 (=位置パラメータの最後)
$!# だと ${!}# と解釈されるのでしょう。
No.1
- 回答日時:
その本の間違いか、あなたの読み違いでしょう。
https://runebook.dev/ja/docs/bash/special-parame …
>($!)非同期コマンドとして実行されるか、 bg 組み込みを使用するかに関係なく、バックグラウンドに最後に配置されたジョブのプロセスIDに展開されます
はありますが、 $!# はありません。
https://runebook.dev/ja/docs/bash/shell-paramete …
にも、$!#に相当するようなものはありません。
${#parameter} が配列の数を返す、くらいです。
最後の引数を取得するなら、
${parameter:offset}
${parameter:offset:length}
でoffset = -1 で取得することになるでしょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
著作権法について
-
今のプログラミング言語
-
プログラム言語
-
プログラミングについて
-
自作scratch アニメの商用利用
-
Python 3.12.2 か一番最新のパ...
-
Geminiフォーム 画像生成で 人...
-
数学、プログラミング、物理、...
-
プログラミングに興味があるの...
-
pip --versionがエラーになる
-
OS入ってる機器のソフト・アプ...
-
⚠️至急です!⚠️ Yahoo!知恵袋の...
-
従業員が1名だけのSierっている...
-
vba クリップボードクリアにつ...
-
COPYコマンドで、最後に1文字...
-
画像生成AIのプロンプトの作り...
-
パイソンのソースコードをChatG...
-
プログラミング言語のバージョ...
-
AIがプログラムする時代のプロ...
-
python03について。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Teratermマクロの戻り値の取得失敗
-
Visual C++からftpを使う
-
ユーザーフォーム内のテキスト...
-
Windowsのバッチファイルでcall...
-
ネットワークフォルダの中身を...
-
system関数のエラー検出
-
コマンドプロンプトでサービス...
-
VBAチェックボックスで有効無効...
-
シリアル通信でのread関数の戻り値
-
テキストボックスのフォーカス...
-
バッチファイル pause時の文字...
-
リストボックス2に表示されたフ...
-
コマンドプロンプトで印刷実行
-
バッチ(Windows2000)での解析エ...
-
OUTLOOKで受信メールを開くとテ...
-
GP-IB通信を別PCでモニタしたい
-
VISCAプロトコル(RS232C通信)...
-
データリーダーからのデータ読...
-
Worksheet_BeforeClick
-
RPGでのダメージの算出方法につ...
おすすめ情報