Distro名を引用符なしで取得しようとしています。サブシェルでのBashの悪い置換
cat /etc/*-release | grep "NAME=.*" -o | cut -d "=" -f2 | head -n1
戻り値:今 "CentOS Linux"
は、シェルの置換を使用して、私は二重引用符を削除しようとした私は、サブシェルでコマンドを配置マーク:
echo ${$(cat /etc/*-release | grep "NAME=.*" -o | cut -d "=" -f2 | head -n1)/\"}
私が考えていました私は\"
を使用して引用符をエスケープし、最後に/
を省略して引用符を単に削除することができます。
編集: これはawk
で行うことができますが、わかりません。
EDIT:cat /etc/*-release
の 出力:
CentOS Linux release 7.2.1511 (Core)
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
CentOS Linux release 7.2.1511 (Core)
CentOS Linux release 7.2.1511 (Core)
予想される出力:CentOSのLinuxの
@Inianサンプルファイルはありません。これらは '/ etc /'の下にあるファイルです。 DebianとCentOS上で少なくとも – rhillhouse