Указание расширения файла, создаваемого заменом процесса ZSH

Вы можете попробовать просто,

Создать файл с именем myscript со следующим содержимым:

#!/bin/bash
echo -n "Enter Run level":
read rl;
sudo init $rl;

Где echo используется для печати, что ввести, read используется для получения ввода и сохранения в переменной rl и sudo init $ rl; для выполнения команды изменения уровня выполнения.

Для получения дополнительной информации о управлении /проверке по входным данным можно использовать цикл, например , в то время как и вариант .

Необходимо предоставить разрешение на выполнение: sudo chmod + x myscript , чтобы его можно было выполнить.

Затем можно запустить сценарий, например:

$ ./myscript
$ Enter Run level : 3

EDIT:

, так как @ RuiFRibeiro предложил , команда изменения уровня выполнения - telinit :

NAME
       telinit - change system runlevel

SYNOPSIS
       telinit [OPTION]...  RUNLEVEL

DESCRIPTION
       telinit may be used to change the system runlevel.

Таким образом, следует использовать telinit вместо init в сценарии.


Для проверки уровня выполнения можно использовать команду who -r или runlevel , которая выводит предыдущий и текущий уровни выполнения.

$ who -r | awk '{print $1,$2}'
run-level 3
$ runlevel
2 3

-121--145095-

Grep использует регулярные выражения, а не узоры оболочек. Регулярные выражения имеют различный синтаксис:

grep -ioe 'entry=G_\(1234\|2345\)' filename

-121--105050-

Для ответа на этот вопрос необходимо рассмотреть два аспекта, в которых могут быть задействованы эти четыре инструмента:

  • архивация файлов
  • сжатие файлов

.

5
18.11.2018, 04:12
1 ответ

Где-то в глубинах zshparam(1)можно найти:

   TMPSUFFIX
          A  filename  suffix which the shell will use for temporary files
          created by process substitutions (e.g., `=(list)').   Note  that
          the  value  should  include  a leading dot `.' if intended to be
          interpreted as a file extension.  The default is not  to  append
          any  suffix,  thus  this  parameter should be assigned only when
          needed and then unset again.

Так

% () { TMPSUFFIX=.wav; print =(ls); unset TMPSUFFIX }
/Users/jhqdoe/tmp/zshsQhnnV.wav
% print $TMPSUFFIX

% 

Вы также можете установить TMPPREFIXспециально для общих систем, чтобы избежать различных /tmpнедостатков безопасности.

13
27.01.2020, 20:35

Теги

Похожие вопросы