- PR -

bashで$XのX部分を変数で与える場合

1
投稿者投稿内容
DAI
会議室デビュー日: 2004/12/21
投稿数: 2
投稿日時: 2004-12-21 22:55
たとえば以下のようにシェルを実行します。

unix% test1.sh AAA BBB CCC

この場合の最後の引数のCCCを取得したいのですが、
$$#にするとうまくいきません。
イメージとしては「$$#」の部分を「$3」と
展開して実行したいです。

shift以外のやりかたで行いたいと思っています。
お分かりになる方ご教授お願い致します。

コブラ
ぬし
会議室デビュー日: 2003/07/18
投稿数: 1038
お住まい・勤務地: 神奈川
投稿日時: 2004-12-22 09:49
そもそも、 $$# って何?
MMX
ぬし
会議室デビュー日: 2001/10/26
投稿数: 861
投稿日時: 2004-12-22 10:11
Cygwin BASH では 空文字列を挟むと $$に先取りは されなくなります

echo $""$#
eval $""$#

[ メッセージ編集済み 編集者: MMX 編集日時 2004-12-22 10:13 ]
コブラ
ぬし
会議室デビュー日: 2003/07/18
投稿数: 1038
お住まい・勤務地: 神奈川
投稿日時: 2004-12-22 10:35
コード:
#!/bin/sh

echo \$"$#"
eval r=\$"$#"
echo $r

#for i in $*
#do
#:
#done

#echo $i

DAI
会議室デビュー日: 2004/12/21
投稿数: 2
投稿日時: 2004-12-22 23:32
コブラ様、MMX様ご回答ありがとうございます。

お二人の書いてくださったソースで実行したところ、
最後の変数を取り出すことが出来ました。
ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)