bash スクリプトを /bin ディレクトリに移動する

bash スクリプトを /bin ディレクトリに移動する

私は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>

関連情報