私はBashスクリプトを持っています スクリプト.sh。私の/家ディレクトリに移動しました。/置き場ディレクトリにコマンドとして実行するためのものです。最初はうまくいきました(コマンドとして、私の環境では/置き場)を起動しましたが、再起動後、動作しなくなりました。ターミナルで , と入力しても何も起こらず、 ターミナルを再び動作させるには+Script.sh
を使用する必要があります。CtrlCスクリプト.sh私の/置き場、私のspd-say
コマンドも機能しません(ターミナルで使用したときに引数が発音されません)。スクリプトを/置き場、すべてが修正されます。ファイルを移動する際に問題はありますか?/置き場?
$ echo $PATH
:/home/m/bin:/home/m/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
これはスクリプトの最初の部分です。
#!/bin/bash
spd-say -w "Do you know this man?"
xdg-open $(locate "X.jpg")
read a
if [ "$a" == "yes" ]
then
spd-say -w "Call the police."
else
spd-say -w "Thanks."
fi
答え1
コメントするには評判が足りませんが、スクリプトを /usr/local/bin に置く必要があるように思われます。
からman hier(7)
/bin This directory contains executable programs which are needed in single user mode and to bring the system up or repair it. /usr/local/bin Binaries for programs local to the site.
ご存知のとおり、コピーしてsudo cp
権限を確認してください。
ただし、プログラムを自分専用に使用したい場合は、/home/$USER/bin
フォルダーに入れてください。
また、スクリプトから/usr/local/binのパスへのシンボリックリンクを作成することもできます。
ln -s /full/path/to/your-script.sh /usr/local/bin/<empty or optional name>