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/sha1sumiç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=shasumama emniyet kemeri ile:
sh: line 1: sha1sum: command not found
Koşumun başarısız olduğunu buldum çünkü kullanmak shyerine 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 sha1sumaltında çalıştırmak için başarısız olur shama shasumçalışır ve sha1sumaltında çalışır bashve nasıl alabilirim sha1sumaltı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/shasumdosyada 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 -sedip senaryodakishasum5.18bir değişkene atayabilirsinizsha1sum.