33332


お世話になっております。

`ldapsearch` を頻繁に使うことがあり、コマンドが長いので変数を使っています。

[code]

    i=aaaaa; ldapsearch -x -h 111.111.11.11 -p 11 ... myid=${i} objectclass=* >  `date +%Y%m%d`_${i}.txt
    
[/code]

サーバ上で、シェルスクリプトを置いておけないのでできればワンライナーでやりたいと考えています。

現在のやり方だと、最初の
i=を書き換えているのですが、前よりも最後に変数を貼るほうが楽そうなので後ろから代入する、あるいはそれに替わる方法はないでしょうか。（bashの動作として後ろからの代入がタブーなのは承知しております。無理を言ってすみません。）

よろしくお願いいたします。


CC BY-SA 3.0
2017-03-15T00:54:05.097
33330
2017-03-15T01:32:04.837
2017-03-15T01:27:26.343
3061
9807
question
linux bash shellscript
ワンライナーで変数を後ろから代入したい

[code]

    sh -c 'ldapsearch -x -h 111.111.11.11 -p 11 ... myid=${1} objectclass=* >`date +%Y%m%d`_${1}.txt' - aaaa
    
[/code]

とか、

[code]

    f() { ldapsearch -x -h 111.111.11.11 -p 11 ... myid=${1} objectclass=* >`date +%Y%m%d`_${1}.txt; }; f aaaa
    
[/code]

OpenLDAP `ldapsearch`(1) のコマンドラインとしては不正っぽい気がしますが、それは適宜直してください。


CC BY-SA 3.0
2017-03-15T01:32:04.837
33332
2017-03-15T01:32:04.837
3061
33330
answer