如何查看shell選項?

如何查看shell選項?

我想檢查我目前的 shell 啟用了哪些選項。例如,我想知道是否使用-x-e或任意數量的其他選項呼叫了我。

source使用 shebang 行編寫了一個 shell 腳本,然後嘗試在腳本末尾#!/bin/bash -x使用 a 關閉“x” 。set +x現在我想檢查我的set +x線路是否成功。

嘗試的解決方案

我已經發現printenvset作為檢查有關當前 shell 的一些資訊的方法,但它們似乎都不包含存儲x e等的變數。

答案1

它在$-變數中。

請參閱set命令的文檔-- 向下捲動到末尾,您將看到「目前的選項集可能位於 中$-」。

快速演示

$ bash
$ echo $-
himBH
$ set -f; set +H
$ echo $-
fhimB
$ [[ $- == *i* ]] && echo This is an interactive shell
This is an interactive shell

答案2

還有$BASHOPTS$SHELLOPTS

來源

相關內容