スクリプト内からエイリアスを一覧表示する方法(「alias」コマンド)

スクリプト内からエイリアスを一覧表示する方法(「alias」コマンド)

スクリプト内から「alias」コマンドを実行したいのですが、これはユーザーの「設定」領域にあります。「env」は実行できますが、その後に「alias」コマンドで表示されるエイリアス設定を実行したいです。これを行う方法はありますか? 試してみました:

if [[ "${command}" == "L" || "${command}" == "l" ]]                     
   then
      echo " "
      echo "Environment settings (env): "
      env
      echo " "
      echo "aliases: "
      `/bin/bash;alias`
      `alias`
      `echo ${BASH_ALIASES[]}`
      /bin/bash;alias
      alias
      echo ${BASH_ALIASES[]}
      echo " "
      echo "Done with Settings. Hit Enter to continue. "
      read settings_trash
   fi

しかし、常に何も返されないか、null または新しいシェルが返されます。

答え1

必要なのは対話型シェル別名を見る

次の例はbashスクリプトを修正するのに役立つかもしれません

bash -c 'alias'  # does not see any alias

bash -ic 'alias' # sees a lot of aliases (in my system)

関連情報