여러 명령을 사용하는 간단하고 실용적인 스크립팅 예제

쉘 스크립팅 : 실용적인 예

쉘 스크립팅 : 실용적인 예

이 출판물에서는 명령을 사용하여 구체적으로 고급화 된 주제에 대한 이전 출판물을 보완 할 명령 명령의 간단한 예를 살펴 봅니다. 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.

사용 된 Distro에서 데이터 변수 관리의 예

배포 데이터 관리 예

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 자체 블로그에서 Shell Scripting에 대해 자세히 알아보고 싶다면, 여기를 클릭하여 주제에 대한 다른 출판물을 볼 수 있습니다. 스크립팅 DesdeLinux.


코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.

  1.   프란시스코 마리아

    아주 좋아요! 매우 유용한! 두 번째 부분?

  2.   Linux 설치 후

    귀하의 의견에 대단히 감사합니다! 나는 두 번째 부분을 시도 할 것입니다 ...

  3.   Fraciel

    esxelente 블로그는 그다지 면밀히 조사하지 않았지만 게시 된 내용에 매우 만족합니다.

  4.   Linux 설치 후

    블로그와 출판물에 대한 긍정적 인 의견을 보내 주신 Fraciel에게 감사드립니다!