История изменений
Исправление sunjob, (текущая версия) :
решил для удобства написания bash-скриптов с «аналогом» функции msg() - сделать бинарную версию
#include <ctype.h>
#include <stdint.h>
#include <stdio.h>
////////////////////////////////////////////////////////////////////////////////
int main(int argc, char* argv[])
////////////////////////////////////////////////////////////////////////////////
{
if(argc >= 2)
{
printf("###\n%s\n###\npress any key to continue...", argv[1]);
getchar();
}
return 0;
}
////////////////////////////////////////////////////////////////////////////////
почти все нормально
запуск из bash-скрипта (все нормально)
$ ./run_bin.sh
###
Test message!
###
press any key to continue...
###
A B C !
###
press any key to continue...
запуск из ком.строки
$ ./msg.bin "A B C !"
bash: !": event not found
$ ./msg.bin "Й Ц У !"
>
+
траблы выявились на старом баше:
3.1.17(2) - older
4.3.48(1) - new
+
оборачивание msg/bin - в bash-скрипт, не помогает
msg bash-shell
#!/bin/sh
./msg.bin $@
./msg.bin "$@"
./msg.bin "A B C !"
main$ msg "A B C !"
bash: !": event not found
отрабатывает только «непосредственная» установка параметра в «ковычках» (третья команда)
+
ИТОГО:
- если вызывать msg.bin из bash-скриптов, то все нормально
- если вызывать из ком.строки, то косяк на старом bash
если не сложно, волшебные пендили, ссылки, советы :о)
Исходная версия sunjob, :
решил для удобства написания bash-скриптов с «аналогом» функции msg() - сделать бинарную версию
#include <ctype.h>
#include <stdint.h>
#include <stdio.h>
////////////////////////////////////////////////////////////////////////////////
int main(int argc, char* argv[])
////////////////////////////////////////////////////////////////////////////////
{
if(argc >= 2)
{
printf("###\n%s\n###\npress any key to continue...", argv[1]);
getchar();
}
return 0;
}
////////////////////////////////////////////////////////////////////////////////
почти все нормально
### запуск из bash-скрипта (все нормально)
$ ./run_bin.sh
###
Test message!
###
press any key to continue...
###
A B C !
###
press any key to continue...
### запуск из ком.строки
$ ./msg.bin "A B C !"
bash: !": event not found
$ ./msg.bin "Й Ц У !"
>
+
траблы выявились на старом баше:
3.1.17(2) - older
4.3.48(1) - new
+
оборачивание msg/bin - в bash-скрипт, не помогает
### msg bash-shell
#!/bin/sh
./msg.bin $@
./msg.bin "$@"
./msg.bin "A B C !"
out
main$ msg "A B C !"
bash: !": event not found
отрабатывает только «непосредственная» установка параметра в «ковычках» (третья команда)
+
ИТОГО:
- если вызывать msg.bin из bash-скриптов, то все нормально
- если вызывать из ком.строки, то косяк на старом bash
если не сложно, волшебные пендили, ссылки, советы :о)