Похоже, вы не установили библиотеки libreadline . Я не знаю, какой дистрибутив Linux вы используете. Для Ubuntu установите библиотеку с:
sudo apt-get install libreadline7
иначе путь к вашей библиотеке указан неправильно.
For command-line programs in general, is there a rule about whether an equals sign is allowed/required between the switch and the value?
Нет, нет. В открытом исходном коде существует множество конкурирующих стандартов. мир и вычисления в целом(обязательно xkcd)и каждый может придумать новые правила и стандарты в любое время они хотят. Аргумент утилиты POSIX Синтаксис например вообще не упоминает =
например в то время как мужчина getopt упоминает Это. На практике вы можете встретить все виды командной строки программы:
Те, которые принимают длинное значение параметра после =
или после пробела:
$ touch a b c d
$ ls --format=verbose
total 0
-rw-r--r-- 1 ja users 0 Mar 17 14:39 a
-rw-r--r-- 1 ja users 0 Mar 17 14:39 b
-rw-r--r-- 1 ja users 0 Mar 17 14:39 c
-rw-r--r-- 1 ja users 0 Mar 17 14:39 d
$ ls --format verbose
total 0
-rw-r--r-- 1 ja users 0 Mar 17 14:39 a
-rw-r--r-- 1 ja users 0 Mar 17 14:39 b
-rw-r--r-- 1 ja users 0 Mar 17 14:39 c
-rw-r--r-- 1 ja users 0 Mar 17 14:39 d
Те, которые не принимают длинное значение опциона после =
, но требуют пробел:
$ readelf -a main | grep 'program interpreter'
[Requesting program interpreter: /lib64/ld-linux-x86-64.so.2]
$ patchelf --set-interpreter=fake main
patchelf: getting info about '--set-interpreter=fake': No such file or directory
$ patchelf --set-interpreter fake main
$ readelf -a main | grep 'program interpreter'
[Requesting program interpreter: fake]
Те, которые принимают значение после =
, но не принимают опционы с -
или--
:
dd if=/dev/urandom of=~/Desktop/test.txt bs=1M count=3
Может быть много причин, по которым данная программа командной строки принимает исходные данные заданным образом :авторское видение, потому что никого это не волнует, потому что автор не знал, что кто-то уже придумал стандартом, потому что программа была перенесена на Unix из разных операционная система с совершенно другими соглашениями или была сделана так, чтобы она выглядела так, был .