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

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

7
Bashの前の出力を追加する代わりに上書きする
bashタイマーの場合、このコードを使用します。 #!/bin/bash sek=60 echo "60 Seconds Wait!" echo -n "One Moment please " while [ $sek -ge 1 ] do echo -n "$sek " sleep 1 sek=$[$sek-1] done echo echo "ready!" それは私にそのような何かを与えます One Moment please: 60 59 58 57 56 55 ... 秒の最後の値を最新のものに置き換えて、出力が大きな軌跡を生成せず、ある位置でリアルタイムのような秒のカウントダウンを生成する可能性はありますか?(私の意味を理解してください:))

3
スクリプトでバックグラウンドでrootとしてOpenVPNを実行するにはどうすればよいですか?
openvpn最初に呼び出し、次にを呼び出すスクリプトを作成したいと思いsshます。コマンドを入力するとき sudo openvpn ~/my_connection.ovpn コマンドプロンプトで次の出力を取得します。 ... Wed Jan 4 21:04:35 2017 do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0 Wed Jan 4 21:04:35 2017 /sbin/ip link set dev tun0 up mtu 1500 Wed Jan 4 21:04:35 2017 /sbin/ip addr add dev tun0 local IP_FOO peer IP_FOO Wed Jan 4 21:04:35 2017 Initialization Sequence Completed このコマンドはブロックされており、シェルは解放されていません。後でssh接続を開始するには、Ctrl+にZ続けてbg。を入力してopenvpnプロセスをバックグラウンドにプッシュする必要があります。 …

6
事前に定義されたウィンドウサイズと位置でアプリケーションを起動するにはどうすればよいですか?
ターミナルコマンドを代わりに使用して、UnityのCtrl-Alt-Keypadショートカットの影響を達成する方法はあるのでしょうか。guiウィンドウを画面の半分のサイズ(左揃えまたは右揃え)に設定するコマンドが必要です。 背景として、ログイン後に実行するスクリプトを記述しています。Zenityを使用して、開発環境(GVimとIPythonを並べて)を開くかどうかを尋ねます。私が使用して、これらのプログラムのための2つの同じサイズのウィンドウを達成しようとしているset lines= columns=中で、私.gvimrcとc.IPythonWidget.width =し、c.IPythonWidget.height =私の中でipython_qtconsole_config.py。ただし、このアプローチには問題があります。

1
環境変数はbashスクリプトでアクセスできません
私は奇妙な問題に遭遇しました。私はいくつかのenv変数を入れました.bashrc、そして、それはそうするべきです: echo $HADOOP_HOME /home/me/dist/hadoop ただし、bashスクリプトを実行する場合、env変数にはアクセスできません。/tmp/sample.sh以下のコンテンツで作成するとします: #! /bin/bash echo $HADOOP_HOME 上記のスクリプトを実行すると、空の行がエコーされます。 /tmp/sample.sh ‌

3
スクリプト自体の内部からスクリプトを完全に再起動する方法
メニューとサブメニュー、オプションなどを使用してシェルスクリプトを設定しています。ただし、各メニュー/サブメニューなどでは、「メインメニューに戻る」を選択する必要があります。 メニューは既に設定されており、正常に動作しますが、スクリプトをゼロから再起動する、すべての変数をリセットするなどの方法が必要です。 または、現在のスクリプトを終了して再起動する方法。 私はこれをやろうとしました: ScriptLoc=$(readlink -f "$0") ./ScriptLoc しかし、それは「古い」スクリプト内の「新しい」スクリプトを開始するため、「新しい」スクリプトを終了すると、「古い」スクリプトに戻ります(それが意味をなす場合)。スクリプトのようなものの中のスクリプトです。 誰もそれを完全に再起動する方法を知っていますか?


2
16.04へのアップグレード後、LTS rc.localはコマンドを実行していません
以前にインストールされたバージョンkubuntu 15.xxに行を追加しました/etc/rc.local- /home/diet/scripts/my-auto-mount-scriptこれは明らかに、自宅でwifiネットワークドライブをマウントする必要があるスクリプトを指していました。 これはkubuntu 15.xxで問題なく動作しました アップグレード後、/etc/rc.localコマンドを実行して/etc/rc.localもまだうまくいくようであるため、ブート時に無視されているようです。rc.localが無視されていると思う理由は、それが参照するスクリプトはスクリプトの成功時だけでなく、スクリプトの失敗時にもログを生成する必要があるが、ログがないためです。 誰も私にこの問題のトラブルシューティング方法に関するいくつかの指針を与えることができますか? PS:はい、私は中のものを置くことはことを知っている/etc/fstabがないので、私はイルカにドライブが表示され、それらの上にそれらのほとんどの赤い十字架を持つことができることも、ドライブをマウントする方法ですが、私は家にいないんだとき、私はそれを嫌います。このように、私が外出中(ラップトップ)にいるとき、人々は私が自宅に持っているものを見ることができません。
21 scripts  kubuntu  16.04 

4
sudoを必要とするbashスクリプトで一度だけパスワードを入力する方法
データ このマシンのオペレータユーザーに自分のcifs共有をマウントしてほしい sudoersファイルがすでに含まれている/bin/mount -t cifs //*/* /media/* -o username=*すべての演算子のためのコマンドを ユーザーにcifs、2回ではなく1回だけパスワードを入力するスクリプトを使用して共有をマウントしてもらいたい。 sudoパスワードとcifsパスワードは同一です。 私がすでに持っているもの このスクリプトは動作します: #!/bin/bash sudo 'mount -t cifs //192.168.1.1/home /media/$USER/home -o username=$USER' ... しかし、ユーザーは同じパスワードを2回入力する必要があります! 一度だけ sudo マウント自体に1回 これも機能します: #!/bin/bash echo -n Password: read -s szPassword echo $szPassword | sudo -S sh -c 'echo $szPassword | mount -t cifs //192.168.1.1/home /media/$USER/home …
21 bash  scripts  sudo 


5
シャットダウンする前にスクリプトを実行する
コンピューターをシャットダウンするとき、オフィスを出る前にやらなければならない保留中のタスクをいくつか表示したいです...これらのタスクを管理するローカルアプリケーションを実行しました。実行されたアプリ。
21 scripts  shutdown 

3
パッケージがインストールされているかどうかを確実に確認する
簡単な要件があります。シェルスクリプト経由でインストールしたい任意の数のパッケージに対応するいくつかの変数を定義したい。 以下のサンプルコード: MISC="shutter pidgin" WEB="apache2 mongodb" for pkg in $MISC $WEB; do if [ "dpkg-query -W $pkg | awk {'print $1'} = """ ]; then echo -e "$pkg is already installed" else apt-get -qq install $pkg echo "Successfully installed $pkg" fi done すべてうまくいきますが、必要なパッケージを確実にインストールできないため、ロジックに欠陥があるようです。既にインストールされているというか、以前にインストールされたパッケージをインストールしようとしています。 またcommand -v、次のことを試しています: if [ "dpkg -l | …
20 scripts 

2
これらのiptablesルールを起動時に実行するように設定する方法
通常、ログインするたびにiptablesルールを実行します。端末から入力します。 sudo sh firewall.sh 妹のコンピューターをセットアップして、基本的なファイアウォール保護を彼女に与えたいと思います。彼女は管理者としてログインすることはなく、単なる標準アカウントです。パスワードを入力せずにログインするたびにファイアウォールスクリプトを実行するにはどうすればよいですか? 妹のコンピューター用に書いたスクリプトには以下が含まれています。 #!/bin/sh modprobe ip_conntrack iptables -F iptables -X iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP iptables -I OUTPUT -p tcp --dport 80 --sport 32768:61000 -j ACCEPT iptables -I OUTPUT -p udp --dport 53 --sport 32768:61000 -j ACCEPT iptables -I OUTPUT …

2
Ubuntuマシンのバージョンをリモートで見つける方法は?
Ubuntuを実行している60〜80以上のシステムがあります。それらの一部はバージョン8.04で、一部は最新バージョン10.10で使用されています。現在、すべての古いUbuntuバージョンを新しいバージョンにアップグレードしています。すべてのUbuntuシステムのスイッチを入れ、古いUbuntuバージョンをメモしてからアップグレードするのは困難です。これらすべてのマシンのIPアドレスをテキストファイルで持っています。そこで、タスクを自動化するシンプルなbashスクリプトを探しています。出力は次のようになります。 172.29.34.40 ubuntu 10.04 172.29.34.41 ubuntu 8.04 172.29.34.42 ubuntu 8.10 など..誰も私を助けることができますか?
20 bash  scripts 

2
Firefoxの `about:config`をシェルスクリプトから変更するにはどうすればよいですか?
最初の新鮮なFirefoxのプロファイルを使用するときに私は最初のものの上、セットにあるbrowser.urlbar.trimURLsとfalse(実際に変更しかし「設定」でなければなりませんか、残ったデフォルトを持つべきである)、およびするDuckDuckGoに検索し、ホームページのデフォルト値を変更します。現在about:config、手動でに進み、怒っている警告メッセージをクリックして、キーを検索します(DConf Editorとは異なり、整理されていません)。 そのため、これらの調整をカスタマイズスクリプトに追加できるように、コマンドラインからこれらのキーを読み書きする方法を知りたいと思います。

3
シバンのどのタイプのパスがより望ましいですか?
スクリプトでは、最初の行でインタープリターへのパスを指定する必要があります。 しかし、異なるサーバーのLinux、Unix、またはBSDでは、このパスは異なる場合があります。 より好ましいものは何ですか? #!/usr/bin/env bash または #!/bin/bash
20 scripts  shebang 

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