スクリプト内から「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)