複数のコマンドを使用したシンプルで実用的なスクリプトの例

シェルスクリプティング:実用例

シェルスクリプティング:実用例

この出版物では、コマンドで具体的かつ高度にされた主題に関する以前の出版物を補完するコマンドコマンドの簡単な例を探ります。 grep, awk y sed. また、次のような他の重要なコマンドを利用します。 猫、カット、エコー、ソート、 他のトップレベルコマンドによって管理される情報の読み取り、抽出、フィルタリング、および順序付けを容易にします。

これらの簡単な例で、それらを研究するすべての人は、それらのはるかに高いレベルの理解を達成することが期待されます。 これにより、コンピューターの端末に手動で適用したり、自動化されたタスク用に作成したスクリプト内で自動化された方法で適用したりできます。

時間変数の管理に関するコマンドコマンドの例

時間変数を管理するための例

FECHA_ACTUAL=$(date +"%d-%b-%y")
# echo $FECHA_ACTUAL
# Fecha actual del Sistema

FECHA_ACTUAL_EXT=$(date "+%d-%m-%y_%H-%M-%S")
# echo $FECHA_ACTUAL_EXT
# Fecha actual extendida del Sistema

HORA_ACTUAL=$(date +"%H-%M")
# echo $HORA_ACTUAL
# Hora actual del Sistema

FECHA_SISTEMA_AN=$(date +"%d-%b-%y")
# echo $FECHA_SISTEMA_AN
# Almacenar la fecha  Alfanumérica actual del Equipo

FECHA_SISTEMA_N=$(date +"%d-%m-%y")
# echo $FECHA_SISTEMA_N
# Almacenar la fecha Numérica actual del Equipo

DIA_ACTUAL=$(date +"%d")
# echo $DIA_ACTUAL
# Almacenar el día actual del Equipo

MES_ACTUAL_A=$(date +"%b")
# echo $MES_ACTUAL_A
# Almacenar el mes alfabético actual del Equipo

MES_ACTUAL_N=$(date +"%m")
# echo $MES_ACTUAL_N
# Almacenar el mes numérico actual del Equipo

ANO_ACTUAL_2C=$(date +"%y")
# echo $ANO_ACTUAL_2C
# Almacenar el año (con 2 cifras) actual del Equipo

ANO_ACTUAL_4C=$(date +"%Y")
# echo $ANO_ACTUAL_4C
# Almacenar el año (con 4 cifras) actual del Equipo

HORA_SISTEMA=$(date +"%H-%M")
# echo $HORA_SISTEMA
# Almacenar la Hora actual del Equipo

HORA_ACTUAL=$(date +"%H")
# echo $HORA_ACTUAL
# Almacenar la Hora actual del Equipo

MINUTOS_ACTUAL=$(date +"%M")
# echo $MINUTOS_ACTUAL
# Almacenar la Hora actual del Equipo

ユーザー名変数管理の例

ユーザー名の管理例

NOMBRE_USUARIO=$(cat /etc/passwd | grep 1000 | cut -d: -f1)
#  echo $NOMBRE_USUARIO
# Nombre de Usuario creado por UID/GID (EJM. 1000) - VERSION SIMPLE

NOMBRE_USUARIO=$(awk -F: '{if ($3==1000) print $1}' /etc/passwd)
# echo $NOMBRE_USUARIO
# Nombre de Usuario creado por UID/GID (EJM. 1000) - VERSION COMPLEJA

NOMBRE_USUARIO=$(awk -F: '{if ($4==1000) print $1}' /etc/passwd)
# echo $NOMBRE_USUARIO
# Nombre de Usuario creado por UID/GID (EJM. 1000) - VERSION COMPLEJA

IDSUPERUSER=$(id -u | awk '{print $1}')
# echo $IDSUPERUSER
IDSUPERUSER=$(echo $UID) 
# echo $IDSUPERUSER
IDSUPERUSER=$(getent passwd $USER | cut -d: -f3) 
# echo $IDSUPERUSER
# Almacenar IUD del Superusuario root

USER_NAME_1=$(cat /etc/passwd | grep 1000 | cut -d: -f1 | awk '{print $1}') ; echo $USER_NAME_1
HOME_USER_NAME_1=/home/$USER_NAME_1 ; echo $HOME_USER_NAME_1
# Almacenar el nombre del usuario 1000 y su /home. Probable único y primer Usuario del Sistema.

USER_NAME_2=$(cat /etc/passwd | grep 1001 | cut -d: -f1 | sed -n '2p' | awk '{print $1}')
HOME_USER_NAME_2=/home/$USER_NAME_2 ; echo $USER_NAME_2
# Almacenar el nombre del usuario 1001 y su /home. Probable segundo Usuario del Sistema.

ID_USERNAME_SESSION=$(for i in $(who | sed 1q | cut -c 1-8); do grep $i /etc/passwd | awk '{print "\t" $1}' | tr -d '[A-Za-z]' | sed 's/::x*//' | cut -c 1-5 | awk '{print $1}' ; done | sed 1q) ; echo $ID_USERNAME_SESSION
# Almacenar el ID del Nombre del primer usuario (alfabéticamente) detectado conectado (con sesión abierta) en el sistema.

USERNAME_ID_SESSION=$(for i in $(who | sed 1q | cut -c 1-8); do grep $i /etc/passwd | awk '{print "\t" $1}' | tr -d '[A-Za-z]' | sed 's/::x*//' | cut -c 1-5 | awk '{print $2}' ; done ; echo $i) ; echo $USERNAME_ID_SESSION
# Almacenar el Nombre del primer usuario (alfabéticamente) detectado conectado (con sesión abierta) en el sistema.

使用したディストリビューションでのデータ変数管理の例

配布データを管理する例

VERSION_SISTEMA=$(cat /etc/os-release | grep VERSION= | sed -n '1p' | sed 's/VERSION=//' | sed 's/"//g')
# echo $VERSION_SISTEMA
# Versión del Sistema Operativo

SUBVERSION_SISTEMA=$(lsb_release -d | awk '{print $4}')
# echo $SUBVERSION_SISTEMA 
# Subversión del Sistema Operativo

TIPO_S_O_L=$(uname -o)
# echo $TIPO_S_O_L
# Almacena el nombre largo del tipo de Sistema Operativo encontrado.

TIPO_S_O_C=$(uname -s)
# echo $TIPO_S_O_C
# Almacena el nombre corto del tipo de Sistema Operativo encontrado.

NOM_DISTRO_C=$(cat /etc/os-release | grep NAME | grep -v "VERSION" | sed -n '2p' | cut -f2 -d\" | awk '{print $1}')
NOM_DISTRO_C=$(lsb_release -d | sed 's/Description://' | awk '{print $1}')
NOM_DISTRO_C=$(cat /etc/os-release | grep NAME | grep -v "VERSION" | sed -n '2p' | cut -f2 -d\")
# echo $NOM_DISTRO_C
# Almacena el nombre corto de la Distro detectada.

ID_DISTRO=$(cat /etc/os-release | grep ID | grep -v "VERSION_ID" | grep -v "ID_LIKE" | sed 's/ID=//' | sed 's/"//g')
ID_DISTRO=$(lsb_release -i | awk '{print $3}')
# echo $ID_DISTRO
# Almacena el ID de la Distro detectada.

VER_DISTRO=$(cat /etc/os-release | grep VERSION= | sed -n '1p' | sed 's/VERSION=//' | sed 's/"//g')
VER_DISTRO=$(lsb_release -c | sed 's/Codename://')
# echo $VER_DISTRO
# Almacena el nombre de la versión de la Distro detectada.

ID_VER_DISTRO=$(cat /etc/os-release | grep VERSION_ID= | sed -n '1p' | sed 's/VERSION_ID=//' | sed 's/"//g')
# ID_VER_DISTRO=$(lsb_release -r | sed 's/Release://')
# echo $ID_VER_DISTRO
# Almacena el ID de la versión de la Distro detectada.

ARQ_DISTRO_COD=$(uname -m)
# echo $ARQ_DISTRO_COD
# Almacenar el Tipo de Arquitectura de la Distro detectada en forma codificada.

ARQ_DISTRO_COD=$(uname -m) ; if [[ "$ARQ_DISTRO_COD" = "x86" ]]; then ARQ_DISTRO_HUM=32; else ARQ_DISTRO_HUM=64; fi
# echo $ARQ_DISTRO_HUM
# Convertir el Tipo de Arquitectura de la Distro detectada en forma codificada a forma humana.

VER_KERNEL=$(uname -r)
# echo $VER_KERNEL
# Almacenar el Nombre del Arquitectura de la Distro detectada.

VERSION_BASH=$(bash --version | grep bash | awk '{print $4}') 
# echo $VERSION_BASH
# Almacenar la Versión del Bash Shell.

「シェルスクリプティング」についてもう少し詳しく知りたい場合は、このリンクを参照してください«初心者のためのBASHスクリプティング基本マニュアル« y シェルスクリプティングについて詳しく知りたい場合は、独自のブログをご覧ください、ここをクリックすると、このテーマに関する他の出版物を見ることができます。 スクリプト作成 DesdeLinux.


コメントを残す

あなたのメールアドレスが公開されることはありません。 必須フィールドには付いています *

*

*

  1. データの責任者:MiguelÁngelGatón
  2. データの目的:SPAMの制御、コメント管理。
  3. 正当化:あなたの同意
  4. データの伝達:法的義務がある場合を除き、データが第三者に伝達されることはありません。
  5. データストレージ:Occentus Networks(EU)がホストするデータベース
  6. 権利:いつでも情報を制限、回復、削除できます。

  1.   フランシスコマリア

    とても良い! 非常に便利! 第二部?

  2.   Linuxポストインストール

    コメントありがとうございます! 私はXNUMX番目の部分をやろうとします...

  3.   フラシエル

    そのesxelenteブログはその中であまり精査されていませんでしたが、私は公開されているものに非常に満足しています

  4.   Linuxポストインストール

    ブログと出版物への前向きなコメントをありがとうFraciel!