Hanya dapat menggunakan beberapa perintah sebagai sudo

2

Saya memiliki sedikit masalah dengan beberapa perintah belakangan ini, tidak berfungsi sebagaimana mestinya.
Saya ingin bermain-main dengan beberapa Markdown dan mencobanya sebagai pengganti beberapa halaman HTML sederhana, jadi saya melihat ke beberapa alat yang mudah digunakan dan menemukan pandoc.

Saya pergi ke depan, menginstalnya, berhasil dan saya membuka Terminal.app.
Namun, saya tidak dapat menjalankan perintah saya sebagai pengguna normal :

-bash: pandoc: command not found

Jika saya melakukan, man pandocsaya dapat melihat manual, jadi saya tahu itu diinstal.

Tapi saya bisa menjalankannya sebagai pengguna super alias root.

Jika saya mencoba, sudo pandocsaya dapat menggunakan alat,
misalnyasudo pandoc -s test.mdown -o test.html

Apa alasannya dan apakah mudah diperbaiki? Ini berfungsi dengan baik di laptop saya, tetapi tidak di komputer desktop saya.

$ PATH saya adalah /opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/texbin

Terima kasih sebelumnya, ini benar-benar menggerus perlengkapan saya.

Filuren
sumber
apa yang sudo katakan pada pandoc?
parkydr
/usr/local/bin/pandoc
Filuren
Apa izin dan kepemilikan pandoc?
slhck
Seperti yang saya mengerti, Anda dapat menjalankan perintah sebagai rootpengguna (menggunakan perintah sudo pandoc), tetapi bukan sebagai pengguna biasa. Apa yang ls -l /usr/local/bin/pandocdikatakan? Mungkin hanya root yang memiliki izin untuk mengeksekusi file? Dan apa yang terjadi jika Anda memulainya sebagai /usr/local/bin/pandoc(dengan jalur penuh)?
erik
ls: /usr/local/bin/pandoc: Permission deniedjadi sepertinya masalah izin. Jika saya mencoba menjalankan dengan jalur penuh yang saya dapatkan-bash: /usr/local/bin/pandoc: Permission denied
Filuren

Jawaban:

1

Pastikan bahwa Anda memiliki +xuntuk /usr/local/bin. Anda akan mendapatkan Permission deniedkesalahan jika ini adalah masalah dengan executable itu sendiri; sebagaimana adanya, tampaknya ada masalah dengan direktori.

Nikita Kouevda
sumber
Bagaimana saya melakukan ini? Hanya sudo chmod +x /usr/local/bin? EDIT: Sepertinya sudah berfungsi sekarang, terima kasih. Ada alasan mengapa izin saya diubah, saya tidak ingat mengubah apa pun?
Filuren
Anda dapat memeriksa ini dengan menjalankan ls -l /usr/local. Dengan asumsi rootmemiliki direktori itu, Anda harus melakukannya sudo chmod a+x /usr/local/bin.
Nikita Kouevda
0

pandoc mungkin tidak dapat ditemukan di PATH untuk pengguna root. Jika Anda bisa masuk sebagai root, jalankan

env | grep ^PATH

Gevork Palyan
sumber