Я заметил, что когда Python печатает длинную строку в gitbash, а затем я копирую и вставляю ее в gitbash, длинная строка превращается в несколько коротких строк. p>
Ниже приведен тестовый скрипт Python: test_long_line.py
Код: Выделить всё
#!/usr/bin/env python
line = "echo cmd"
for i in range(0, 30):
line = f"{line} arg{i} "
print(line)
Код: Выделить всё
$ test_long_line.py
echo cmd arg0 arg1 arg2 arg3 arg4 arg5 arg6 arg7 arg8 arg9 arg10 arg11 arg12 arg13 arg14 arg15 arg16 arg17 arg18 arg19 arg20 arg21 arg22 arg23 arg24 arg25 arg26 arg27 arg28
arg29
Код: Выделить всё
$ echo cmd arg0 arg1 arg2 arg3 arg4 arg5 arg6 arg7 arg8 arg9 arg10 arg11 arg12 arg13 arg
14 arg15 arg16 arg17 arg18 arg19 arg20 arg21 arg22 arg23 arg24 arg25 arg26 arg27 arg28
arg29
cmd arg0 arg1 arg2 arg3 arg4 arg5 arg6 arg7 arg8 arg9 arg10 arg11 arg12 arg13 arg
bash: 14: command not found
bash: arg29: command not found
- Та же проблема возникает, когда Python печатает в Cygwin. >
- Однако в Windows Batch (cmd.exe) этой проблемы нет.
- При печати Perl такой проблемы нет. (см. тестовый сценарий Perl ниже)
- Эхо Bash не имеет этой проблемы. (см. тестовый сценарий bash ниже)
- Терминал Linux (WSL2) не имеет этой проблемы.
- Windows 10 с последним исправлением
- Python 3.12.4
< li>Gitbash Mintty 3.7.1 - Cygwin Mintty 3.7.4
Код: Выделить всё
#!/usr/bin/env perl
use strict;
my $line = "echo cmd ";
for (my $i = 0; $i < 30; $i++) {
$line .= "arg$i ";
}
Код: Выделить всё
#!/bin/bash
line="echo cmd"
for i in {0..29}; do
line+=" arg$i"
done
echo "$line"
Любая информация приветствуется.
Подробнее здесь: https://stackoverflow.com/questions/793 ... n-multiple