И еще, равнина `СШ` не вызывается работ по rsync`? @RPRATHER3: спасибо, классный вопрос Вы должны запросить спецификацию в руководстве по эксплуатации принтера. @unxnut это неправильно. Без запятой, команда будет установить среду для "сортировка", но с запятой переменная является локальной для корпуса и не влияет на поведение "сортировка". Точка с запятой может быть как если переменная экспортируется, но это будет сказываться и на другие команды. Есть более простой инструмент? Мне не нужен DJ кит - просто слияние, ничего более. Я не буду очень часто использовать его. Но я дам это попробовать и прокомментировать его. Спасибо!

Я думаю, твоя основная проблема заключается в том, что вы пытались использовать синтаксисе Bash в скрипте ш. Баш определяет продлении Ш. общему знаменателю; если вы хотите использовать bash-особенности, ваш скрипт должен начинаться с #!/бин/Баш, а не #!/Бен/ш.

Ш нет ((...)) синтаксис арифметических выражений. Но вам не нужно это здесь, вы можете использовать портативный [ ... ] условный синтаксис. В [ ... ] условной, “меньше” оператор написано -ЛТ.

Фигурные скобки {1..2} Другой Баш функция, которая не существует в SH. Еще один баг в своем скрипте х=$а+1, который устанавливает х в строку 42+1 , если значение А составляет 42; выполнять арифметические вычисления, необходимо использовать арифметические выражения $((...)).

Также, в качестве общего замечания, всегда используйте двойные кавычки вокруг переменной подстановки.

Еще одна проблема с вашим кодом заключается в том, что, похоже, это - десятичное число. Оболочка арифметика работает только с целыми числами. Я адаптировала алгоритм, но проверить, что он делает, я бы не округлые, как ты хотела. С помощью awk, чтобы просто посчитать количество строк-это перебор, туалет -мне это понятнее и быстрее способ сделать это. Аналогично, чтобы напечатать первые n строк файла, просто позвоните головы.

Еще одна ошибка заключается в том, что $i_chunk является значение переменной i_chunk. Чтобы взять значение мне и добавить _chunk, вам необходимо отграничить имя переменной в фигурные скобки: ${я}_chunk.

Я понятия не имею, что петля На Дж это должен делать, я оставил его в покое.

#!/Бен/ш
для меня в 1 2
делать
вход="../ExpressionSet_${я}_chunk.txt"
 для J в 1 2
делать
 А=$(туалет -л <"$ввод")
Г=100
Х=0
 если [ "$a" -это ЛТ "$г" ]; затем
Х=$((А+100))
еще
Х=$А
интернет
 руководитель -Н "$((Х/100))" "$ввод" > "$я"_top1pc.txt
 руководитель -Н "$((Х/20))" "$ввод" > "$я"_top5pc.txt
сделано
сделано

Если вы решили написать bash-скрипт, вы можете использовать несколько функций в bash:

  • ((...)) для арифметических оценок (но все равно только целое число)
  • верстаю -я объявить целочисленную переменную, так что назначение арифметического выражения его
#!/бин/Баш
для меня в 1 2
делать
вход="../ExpressionSet_${я}_chunk.txt"
 для J в 1 2
делать
 А=$(туалет -л <"$ввод")
Г=100
 верстаю -я х
 если ((А < Г)); тогда
Х=А+100
еще
Х=$А
интернет
 руководитель -Н "$((Х/100))" "$ввод" > "$я"_top1pc.txt
 руководитель -Н "$((Х/20))" "$ввод" > "$я"_top5pc.txt
сделано
сделано