Comando Shift en Linux con ejemplos

Shift es un comando incorporado en bash que, después de ejecutarse, cambia/mueve los argumentos de la línea de comando a una posición a la izquierda. El primer argumento se pierde después de usar el comando shift. Este comando toma solo un número entero como argumento. Este comando es útil cuando desea deshacerse de los argumentos de la línea de comando que no son necesarios después de analizarlos.

Sintaxis:

shift n

Aquí, n es el número de posiciones por las que desea desplazar los argumentos de la línea de comandos hacia la izquierda. Si no especifica, se supone que el valor predeterminado de n es 1, es decir, el desplazamiento funciona igual que el desplazamiento 1.

Ejemplo: vamos a crear un archivo de script de shell llamado sampleshift.sh de la siguiente manera. El número total de argumentos de la línea de comandos está representado por $#. Use el siguiente comando para crear el archivo de script de shell deseado

vi sampleshift.sh

Ahora pega el siguiente código:

#!/bin/bash

# total number of command-line arguments
echo "Total arguments passed are: $#"

# $* is used to show the command line arguments
echo "The arguments are: $*"

echo "The First Argument is: $1"
shift 2

echo "The First Argument After Shift 2 is: $1"
shift

echo "The First Argument After Shift is: $1"

Ahora, para guardar el archivo, presione ESC y luego escriba «:x» sin comillas y presione Enter. Ahora para ejecutar el archivo, use el siguiente comando en la terminal de Linux

sh sampleshift.sh

Pero aquí tenemos que pasar argumentos de línea de comandos para que podamos usar el siguiente comando

sh sampleshift.sh G1 G2 G3 G4

Aquí, estamos pasando 4 argumentos de línea de comandos llamados G1, G2, G3 y G4. A continuación se muestra la captura de pantalla de la salida del uso del comando shift:

Shift-Command-in-Linux-with-Examples

Publicación traducida automáticamente

Artículo escrito por palakbansal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *