какая оболочка используется для запуска скрипта [дубликат]

Вы можете сначала извлечь 100 случайных чисел из 3494, а затем извлечь эти номера строк из каждого файла, например,

seq 3494 | shuf -n 100 | awk 'NR==FNR{ z[$0]++;next}
{if (FNR in z){ print >FILENAME"_random"}}' - ./*.txt

Это извлечет одинаковые номера строк из каждого файла и сохранит их в FILENAME"_random"

1
20.02.2018, 22:53
1 ответ

Если исполняемый скрипт не имеет строки shebang, он выполняется с помощью /bin/sh. Если вы используете sourceдля его выполнения, он запускается в текущей оболочке :

.
$ cat s.sh
echo "shell=$shell"
echo "BASH=$BASH"
$./s.sh
shell=
BASH=/usr/local/bin/bash
$ tcsh
[~]%./s.sh
shell=
BASH=/bin/sh
[~]% source s.sh
shell=/bin/tcsh
BASH: Undefined variable.
2
27.01.2020, 23:44

Теги

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