エディターを実行する単純なbashスクリプト

私は完全な初心者ubuntovodです。 最初のシンプルなbashスクリプトを共有したい:



#!/bin/bash

if [ -z "$1" ]; then

gedit

exit 0

fi

test ! -e "$1" && gedit "$1" || $(test -w "$1" && gedit "$1" || gksu gedit "$1")







簡単な説明(私の口頭での吹雪の読み方を既に理解している人向け):

エディターを起動する前に、ユーザーにファイルを変更する権限があるかどうかを確認します。 権限がない場合は、スーパーユーザーに代わってエディターを起動します。

(入力ファイルが指定されていない場合、単純なユーザーとしてエディターを開きます)



長い説明(読む必要のない人向け):

通常、どのようにテキストファイルを編集しますか? ターミナルからgedit、vi、nanoなどを実行する場合、スクリプトはおそらく適切ではありません。

私はgnome-commander(または別のファイルマネージャー)の古い習慣です。F4を押します。

そして今-私はすでに何度か遭遇した状況。 何らかのファイルを編集する必要がありますが、結局のところ、アクセス権が制限されています。 たとえば、新しいリポジトリを追加したい。 sources.listファイルを見つけ、F4を押して編集し、保存しようとします...権限の欠如に関するメッセージが表示されます。 ええ、もちろん、スーパーユーザーの代わりにエディターを実行する必要がありましたが、私は知っています、私は知っています...しかし、今何をすべきか? ここに「現在のユーザーを変更...」のようなボタンがありますが、ありません。 したがって、すべてのテキストをコピーし、エディターを閉じ、ターミナルを開き、目的のディレクトリを再度探し、手でgksu gedit sources.listを実行し、パスワードを入力し、保存したテキストを挿入し、最後に変更を保存する必要があります。 人間工学的すぎますか?

スーパーユーザーの代わりに常にgnome-commanderまたはgeditを実行する場合、これはもちろん問題を解決しますが、このアプローチは明らかに悪いです。



だから私はこの解決策を思いついた:

  1. 編集というテキストファイルを作成します
  2. 上記のコードをそれに貼り付けます
  3. 保存する
  4. このファイルに実行許可を与えます
  5. / usr / local / binに入れてください
  6. 編集用のgnome-commander(またはお気に入りのファイルマネージャー)の設定で、edit%sコマンドを割り当てます。
コマンドラインからedit [file name]を呼び出すこともできます。



PS: geditはお好みのエディターに変更できます。 コンソールの場合、gksuはsudoに変更できます。



UPD:名前にスペースが含まれるファイルが誤って処理されました。 ありがとうbappoy 、修正。



All Articles