タグ付けされた質問 「scripts」

スクリプトは、「プレーンテキスト」ファイルに記述された一連の指示です。スクリプトインタープリター(たとえば、Bashまたは別のシェル、Python、Perl、Rubyなど)がファイルを読み取り、コマンドプロンプトで入力されたかのように指示を実行します。

2
スクリプトの一部のみをsudoとして実行し、パスワードを1回だけ入力します
外部依存関係をインストールするスクリプト(実際にはスクリプトとmakefileの組み合わせ)を書いています:apt-getコマンド、gitクローン、ビルド、インストール、グループへのユーザーの追加、... これらのスクリプトの操作には、スーパーユーザー権限が必要なものとそうでないものがあります。 これまで、sudoを使用してmakeプロセス全体を実行しましたが、いくつかの欠点があります。 gitクローンrootを所有者として取得するリポジトリ、つまり、sudoまたはchown ユーザーをグループに追加するスクリプトは、whoami戻るためにどのユーザーを追加するかを知りませんroot スーパーユーザーとしてそれを必要とするコマンドのみを実行する最良の方法は何ですか?理想的には、このプロセスではsudoパスワードを入力する必要がありますが、インストールプロセスの最初の1回だけです。それは最後にそれを忘れますが、それまでずっとそれを保ちます(それは数時間かかることがあります)。 私がオンラインで見つけた解決策は次のとおりです。 sudo -vスクリプトの冒頭で、しかし、私が正しく理解すれば、これはタイムアウトします。スクリプトが数時間実行される可能性があります でスクリプトを実行しますがsudo、スーパーユーザーを必要としないコマンドはで実行しますsudo -u $(logname) <command>。これは私が今やっていることですが、それは逆のはずだと感じています。 理想的には、スクリプトで次のことを行います。 スーパーユーザーの資格情報を要求する ログインしたユーザーとして通常のコマンドを実行する 手順1で入力した資格情報でsudoコマンドを実行します sudo -k スーパーユーザーセッションを閉じる
14 sudo  scripts 

2
侵害ブラウザのインス​​トール
編集:受け入れられた答えを見てください。私は執筆時点ではうまくいかなかったので、以下に推測しました。 私はLinuxが初めてなので、これは初心者の質問かもしれません。Node.jsというJavaScriptに組み込まれているbreachと呼ばれる新しいWebブラウザーをインストールしようとしています。少しハッキングしてみました。 彼らのサイトからtarフォルダーをインストールしました。AUTO_UPDATE_BUNDLEというフォルダーとbreach.shというファイルがあります。breachファイルはbashスクリプトであると信じており、それがどのようにインストールされているか推測していました。(しかし、それが正しいかどうかはわかりません。) そこで、bashスクリプトの実行方法をオンラインで調べました。私はターミナルに行きましたが、これはbreach.shファイルのディレクトリで書いたものです。 sh breach このエラーが発生しました。 [3428:3428:0710/191300:858123323:FATAL:browser_main_loop.cc(172)] Running without the SUID sandbox! See https://code.google.com/p/chromium/wiki/LinuxSUIDSandboxDevelopment for more information on developing with the sandbox on. Aborted (core dumped) 次に、上記のcode.google.com / ...へのリンクに移動すると、 Linuxでサンドボックスを有効にするには、SUIDヘルパーバイナリが必要です。 ほとんどの場合、build / update-linux-sandbox.shを実行すると、適切なサンドボックスが/ usr / local / sbinにインストールされ、必要に応じて.bashrcを更新するように指示されます。 どうやって走れるかわからない build/update-linux-sandbox.sh。ルートディレクトリにディレクトリを作成しますか?そこで検索しようとしましたが、見つかりませんでした。 私はどんな助けも感謝します、そして私が間違っている場所を修正するよりも、このブラウザを適切にインストールすることで間違った方向に向かっているなら。前もって感謝します。

2
文字列をsedしてフォルダパスに置き換える方法
次のbashスクリプトを作成しようとしています。 HOME_DIR=/opt/my_home find ./CONFIG -type f -exec sed -i "s/_HOME_DIR_/$_HOME_DIR/g" {} \; ファイルで変更したい行は次のとおりです。 users = "_HOME_DIR_/config/data/_DOMAIN_/users.conf" したがって、最終結果は次のようになります。 users = "/opt/my_home/config/data/_DOMAIN_/users.conf" しかし、私はそれを得ていません...それはエスケープ文字のためだと思います... 誰かが光を当てることはできますか? ありがとう

6
アプリケーションをミュートするスクリプト
私の目標は、システム全体ではなく、Spotifyアプリケーションをミュートできるようにすることです。コマンドの使用:ps -C spotify -o pid=SpotifyのプロセスIDを見つけることができます"22981"。この場合、IDはです。そのプロセスIDを使用して、このリストから検索したいと思います。pacmd list-sink-inputs。このコマンドは、次のようなリストを返します。 eric@eric-desktop:~$ pacmd list-sink-inputs Welcome to PulseAudio! Use "help" for usage information. >>> 1 sink input(s) available. index: 0 driver: <protocol-native.c> flags: START_CORKED state: RUNNING sink: 1 <alsa_output.pci-0000_00_1b.0.analog-stereo> volume: 0: 100% 1: 100% 0: -0.00 dB 1: -0.00 dB balance 0.00 muted: no current latency: …

4
〜/ .bash_loginを使用してログイン時にスクリプトを実行します
Ubuntuでログインおよびログアウトするときにスクリプトを実行する必要があります。 スクリプトを自分で入れようとしました~/.bash_loginが、うまくいきませんでした。 スクリプトを実行できるより良い場所はありますか? 私のスクリプトはにあり、/home/gsd/script/login.sh実行可能です。 編集: 入力するとスクリプトが実行/home/gsd/script/login.shされます:+ xで設定されます 今、私は持っている:touch /home/gsd/test.txt中~/.bash_loginにテスト。 ファイルtest.txtは作成されません 編集2: gsd@laptop:~$ ll ~/.bash* -rw------- 1 gsd gsd 38639 2012-01-25 17:25 .bash_history -rw-r--r-- 1 gsd gsd 29 2012-01-25 15:22 .bash_login -rw-r--r-- 1 gsd gsd 220 2011-11-03 19:22 .bash_logout -rw-r--r-- 1 gsd gsd 3136 2011-11-04 08:00 .bashrc
14 login  scripts  logout 

3
変数へのwget出力を取得する
どうすればできますか?RESULT = `wget $ URL`のように試しています PS-また、シェルスクリプトを学習するための推奨ソースはありますか?
14 scripts  wget 

3
ワイヤレスネットワークに接続した後にスクリプトを呼び出す
特定のワイヤレスネットワークに接続したら、シェルスクリプトを呼び出す方法はありますか?私がこれをしたい理由は、使用を開始する前にネットワークにログインする必要があり、可能であればこれを自動化することです。 この質問を読みました。特定のワイヤレスネットワークに接続するたびにスクリプトを実行する方法はありますか? しかし、私はそれを行うためにupstartをどのように使用するかについて本当に確信がありません。

2
gnome-tweak-toolによって行われた設定をスクリプト化するにはどうすればよいですか?
OSを再インストールするときにスクリプトを実行して、好みの設定を取り戻すことができるように、コマンドラインから設定できるようにしています。 Ubuntu 17.10への「アップグレード」以来、gnome-tweak-toolを使用して設定を希望どおりに取得する必要がありました。 gnome-tweak-tool GUIで設定を見つけたら、そのスクリプト化可能な翻訳をどうやって見つけることができますか? たとえば、次のgsettings行は、下のgnome-tweak-toolスクリーンショットの関連エントリに一致します... gsettings set org.gnome.desktop.wm.preferences titlebar-font "Tahoma Bold 8" gsettings set org.gnome.desktop.interface font-name "Tahoma 8" gsettings set org.gnome.desktop.interface document-font-name "Tahoma 8" gsettings set org.gnome.desktop.interface monospace-font-name "FixedSC 10" ...しかし、誰もそれを推測できますか?また、たとえば、ヒントとアンチエイリアシングの対応する設定をどこで取得するかをどのように把握しますか?

5
ディレクトリ全体を実行可能にする方法は?
pythonスクリプト専用のフォルダー全体があります。 私が書くすべての新しいpythonスクリプトでchmodを実行するのはうんざりです。 pythonスクリプトの場合、フォルダー内のすべてのファイルを実行可能にする方法はありますか? 新しい.pyスクリプトが作成されるたびにチェックし、新しい.pyスクリプトがある場合はその場で実行可能にするスクリプトがあると便利です。 Vimを使用しています。

1
#$で始まるbashスクリプト行の意味は何ですか?
このbashスクリプトをGitHubで見つけて、自分の仕事に使用したいと思います。私の質問は次のとおりです。2行目から5行目はどういう意味ですか?彼らは単なるコメントですか、それとも何らかの目的を果たしていますか? #!/bin/bash #$ -l h_rt=72:00:00 #$ -V #$ -N index_calc #$ -j y source ~/modules.sh cd $1 l_file=`find . -name 'L*stack' -type f` for l in $l_file; do echo "Running on file:" echo $l extract=${l:0:45} name=${extract}_index.tif echo "Name of index stack:" echo $name echo "Executing code..." ~/Documents/misc/spectral/transforms.py \ -v $l …


3
ダウンロード中のファイルを徐々に暗号化するにはどうすればよいですか?
以前はファイルをダウンロードしてopensslから暗号化するために使用していましたが、これでは不十分です。ファイルのダウンロード中に、ダウンロードを徐々に暗号化するにはどうすればよいですか? パイプcurlとopensslパイプを使用することを考えましたが、理解できません。 これを実行するためのより良いツールはありますか?
13 bash  scripts  wget  openssl  curl 

5
引数ありまたは引数なしで動作するスクリプトを作成する方法は?
次のようなbashスクリプトがあります。 #!/bin/bash if [ $1 = "--test" ] || [ $1 = "-t" ]; then echo "Testing..." testing="y" else testing="n" echo "Not testing." fi だから私ができるようにしたいことは、./script --testまたは./script -tで実行するだけでなく、引数なしで(ちょうど./script)だけでなく、現在のコードでそれを行う場合、出力はただです: ./script: line 3: [: =: unary operator expected ./script: line 3: [: =: unary operator expected Not testing. それでは、引数なしで実行するとelseエラーをスローせずに実行されるようにプログラムするにはどうすればよいですか?私は何を間違えていますか?

2
Macbookのように、通知を一時的に非表示にする「邪魔しない」オプションはありますか?
OSXデバイスの場合のように、「邪魔しないでください」モードがあります。このモードでは、通知が邪魔するかどうかを判断できます。 クロムをインストールしたばかりで、通常はグループテキストやその他の通知で迷惑になります。仕事中に迷惑になる場合があります。 Ubuntuにはそのようなものがありますか?

1
特定の端末ウィンドウにコマンドを送信するにはどうすればよいですか?
別々の端末で複数のプログラム(サーバー)を同時に開くスクリプトを作成します-どの端末でも構いません-そして、正しい端末内にコマンドを「ランディング」する異なる端末に異なるコマンドを割り当てます。これは可能ですか? たぶん、このようなもの: ターミナル1を開く terminal2 //同時に1を開きます。 command1 //新しいターミナルウィンドウを開かずにterminal1で実行 command2 //新しいターミナルウィンドウを開かずにterminal2で実行 ... コマンドが正しい端末内で実行されるように、何らかの方法で端末ウィンドウにラベルを付けることはできますか? また、プログラムの実行中にすべての端末を監視したい-私のプログラムには、端末にトレース/デバッグを出力するための引数があります。だから、私はそれらの間でどのようなメッセージが交換されているかを見たいです。 注:このスクリプトは「シミュレーション」として機能するため、交換データのセキュリティについてはあまり気にしません。localhostの割り当てられたポートから実行するように各サーバーを構成しました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.