如何從腳本中列出別名(“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 或一個新的 shell。

答案1

你需要一個互動式外殼看別名

以下範例bash可能可以幫助您修復腳本

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

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

相關內容