Birden fazla platformda çalışması gereken bir testim var. Diğer tüm platformlarda, test kullanıyor sha1sum
, ancak Mac OSX El Capitan'ımda, böyle bir program yüklü değil shasum
, bunun yerine iyi çalışıyor.
Ben bir bağlantı oluşturmak için çalıştık /usr/bin/sha1sum
için /usr/bin/shasum
, ama bu bile kök olarak, başarısız:
bash-3.2$ cd /usr/bin
bash-3.2$ sudo ln shasum sha1sum
ln: sha1sum: Operation not permitted
Daha sonra koydum /usr/local/bin
:
bash-3.2$ cd /usr/local/bin
bash-3.2$ ln -s /usr/bin/shasum sha1sum
Ve iş gibi görünüyor:
bash-3.2$ sha1sum -c files.sha1sum
smallData.txt: OK
Ancak, şimdi test shaumsum bulma test koşum hala başarısız oluyor:
perl version 5.18.2 can't run /usr/local/bin/sha1sum. Try the alternative(s):
(Error: no alternatives found)
Run "man perl" for more information about multiple version support in
Mac OS X.
Ben de kullanmayı denedim alias sha1sum=shasum
ama emniyet kemeri ile:
sh: line 1: sha1sum: command not found
Koşumun başarısız olduğunu buldum çünkü kullanmak sh
yerine bash
.
sh-3.2$ sha1sum -c files.sha1sum
perl version 5.18.2 can't run /usr/local/bin/sha1sum. Try the alternative(s):
(Error: no alternatives found)
Run "man perl" for more information about multiple version support in
Mac OS X.
sh-3.2$ shasum -c files.sha1sum
smallData.txt: OK
Öyleyse neden olmasıdır sha1sum
altında çalıştırmak için başarısız olur sh
ama shasum
çalışır ve sha1sum
altında çalışır bash
ve nasıl alabilirim sha1sum
altında çalıştırmak için sh
?
Bunun neden başarısız olduğu konusunda da kafam karıştı:
bash-3.2$ echo "sha1sum -c files.sha1sum" | bash
perl version 5.18.2 can't run /usr/local/bin/sha1sum. Try the alternative(s):
(Error: no alternatives found)
Run "man perl" for more information about multiple version support in
Mac OS X.
Şimdi bu yorumu /usr/bin/shasum
dosyada fark ettim :
The contents of this script should normally never run! The perl wrapper
should pick the correct script in /usr/bin by appending the appropriate version.
You can try appending the appropriate perl version number. See perlmacosx.pod
for more information about multiple version support in Mac OS X.
uname -s
edip senaryodakishasum5.18
bir değişkene atayabilirsinizsha1sum
.