Bashに変数を含める方法および/または評価する方法は?

Bashに変数を含める方法および/または評価する方法は?

質問:

#!/bin/bash

x=$1
perl -lne 'print "$x is $_"' $1

Perl-onelinerで印刷するたびに$14行目で評価を実行し、一重引用符で評価された値を印刷するにはどうすればよいですか?$1

ベストアンサー1

さまざまな方法:

  1. Perl onelinerへの入力として変数を渡します。

    perl -le 'print "\$x is $ARGV[0]"' "$x"
    
  2. 変数をエクスポートし、%ENVPerlのハッシュを使用して印刷します。

    export x="$1"
    perl -le 'print "\$x is $ENV{x}"' 
    
  3. Perlスクリプトには二重引用符を使用してください。

    perl -le "print \"\\\$x is $x\""
    

シェルスクリプトでは、次のように表示されます。

#!/bin/bash

export x=$1

echo "Approach #1"
perl -le 'print "\$x is $ARGV[0]"' "$x"


echo "Approach #2"
perl -le 'print "\$x is $ENV{x}"' 


echo "Approach #3"
perl -le "print \"\\\$x is $x\""

aoveを別の名前で保存しfoo.sh、「foo」を引数として実行すると、次の結果が表示されます。

$ foo.sh foo
Approach #1
$x is foo
Approach #2
$x is foo
Approach #3
$x is foo

おすすめ記事