Главные темы ► linux ► shell ► substitution ► Подстановка команд в Linux
Теги: shell

Подстановка команд в Linux

Подстановка команд в Linux позволяет получать и сохранять результат команд и затем использовать его в других командах.

    Подстановка команд

    Подстановка команд - это подстановка результатов выполнения команды или даже серии команд. Это операция которая позволяет вызывать команду в другом окружении.

    #1 способ, использование обратных кавычек (`...`) result=`pwd` echo $result #2 способ,

    Вывод команд может использоваться как аргумент для другой команды, для установки значения переменной или для генерации списка для цикла for

    #Вывод команд используется как аргумент для другой команды rm `cat list-file.txt` #Более правильный вариант, в данном случае используется -- на тот случай если файл в списке начинается с символа - ( -name ) xargs rm -- < list-file.txt #Запись списка файлов в переменную list_file=`ls folder` #Альтернативный вариант list_file=$(ls folder)

    Подставляемая команда может получиться разбитой на отдельные слова

    #2 аргумента `echo a b` #1 аргумент "`echo a b`" #1 пустой аргумент "`echo`" #Нормальное выполнение cd "`pwd`" #Нормальное выполнение cd "$PWD"

    Канонический режим — это такой режим, когда ввод-вывод с/на терминал осуществляются по-строчно.
    Неканонический режим — это когда терминал работает в несвойственном для терминалов режиме, в частности ввод происходит по-символьно.

    #Сохранить настройки терминала old_tty=$(stty -g) #Запретить канонический режим терминала и эхо вывод stty -icanon -echo #Поймать нажатие на клавишу key=$(dd bs=1 count=1 2< /dev/null) #Восстановить настройки терминала stty "$old_tty" #Запись в перменную содержимого файла content=`<test`; #или contest=`cat test` #Удаляются символы перевода строки #!/bin/bash variable1=`for i in 1 2 3 4 5 do echo -n "$i" done` echo "$variable1" echo "**************************************************" i=0 variable2=`while [ "$i" -lt 10 ] do echo -n "$i" let "i += 1" done` echo "$variable2"
    Арифметические подстановки

    z=`expr $z + 3` # Подстановка команды $z = 3 z=$(($z+3)) # Подстановка арифметического выражения $z = 6 let z=z+3 # $z = 9 let "z += 3" # Кавычки позволяют вставлять пробелы и специальные операторы $z = 12
    Источники
    Последнее изменение: October 6, 2024 22:05


    Редактировать


    test

    2025-12-31 23:09:00 Редактировать

    test

    2025-12-31 23:10:00 Редактировать

    Я буду рекламой
    Я тоже буду рекламой
    И я
    ВВЕРХ
    Loading…
    Loading the web debug toolbar…
    Attempt #