タグ付けされた質問 「shell-script」

シェルスクリプトは、オペレーティングシステムのシェルまたはコマンドラインインタープリター用に記述されたスクリプトです。


6
ネットワーク接続でOS X 10.6でスクリプトを実行します。(/etc/network/if-up.d/など)
Mac OS Xでネットワークインターフェイスが起動したときにスクリプトを実行する方法はありますか? ip-upという名前のスクリプトを/ etc / pppに配置しようとしましたが、ワイヤレスネットワークを切断して再接続しても起動しないようです。 ネットワークステータスが変更されたかどうかを常に確認するために、cronジョブを実行する必要はありません。一部のLinuxディストリビューションでは、スクリプトを/etc/network/if-up.d/に配置することでこれを実現できます。Mac OS Xに類似したものはありますか?




3
エコー付きの改行文字を印刷する方法は?
hexdumpこのような文字列をダンプします2031 3334 2e30 0a32 2032 3331 302e 000a。それが0x0a改行文字であることは明らかですが、この文字列をエコーアウトしようとすると、常に得られます1 430.2 2 13.0-改行を使用しても、改行はスペースに置き換えられ-eます。 何が問題なのでしょうか?テーリング\0は出力を台無しにしますか?0x0a新しい行を印刷する代替手段はありますか? よろしくお願いします。


2
スクリプトの実行時に[[:not found]を取得するのはなぜですか?
ファイルが存在するかどうかを確認する必要があるスクリプトを記述しようとしています。コンソールで書きます if [[ -a /path/to/file.txt ]]; then echo "not mod"; else echo "mod"; fi そして私は得る not mod しかし、私が同じことをするスクリプトを書くとき: #!/bin/sh if [[ -a /path/to/file.txt ]]; then echo "not mod"; else echo "mod"; fi そして、スクリプトを実行すると、これが得られます: ./ex.sh: 2: [[: not found mod スクリプトを現在のディレクトリに保存し、ex.shという名前を付けて、実行可能であることを確認しました。スクリプトを呼び出すには、これを行います: ./ex.sh この問題が発生するのはなぜですか?私はすでに多くのことを試しました: if [ -a /home ... そして if test …


1
スクリプトを呼び出したシェルのエイリアスを「エクスポート」できますか?
特定のエイリアスを定義するユーティリティスクリプトを記述しようとしています。 私のシェルはtcsh(それを変更することはできません)です。 私は以下を試しました #!/bin/tcsh alias log 'less ~/logs/log.`date '+%Y%m%d'`'' 次に、次のように実行します。 ./myscript log 私が得る出力は: log: Command not found. 当然、次のように実行すると、 source myscript log すべて順調。 指定せずにそれを行う方法はありsource ...ますか?

3
起動時にシェルスクリプトを実行する方法
サーバーを起動するスクリプトを作成しました(最初の質問)。今、私はそれをシステムの起動時に実行し、定義されたサーバーを起動したい。これを完了するにはどうすればよいですか? 私の調査結果は、このファイルをその/etc/init.d場所に置き、システムが起動するときに実行されることを示しています。しかし、私はスタートアップの最初の議論がどのようになるのか理解できませんstartか?これはどこかで使用するために事前定義さstartれてい$1ますか?startallスクリプト内のすべてのサーバーを起動するケースが必要な場合、管理できるオプションは何ですか? 私のスクリプトは次のようなものです。 #!/bin/bash case "$1" in start) start ;; stop) stop ;; restart) $0 stop $0 start ;; *) echo "usage: $0 (start|stop|restart)" ;; esac

2
プログラムでgnome-terminalのタブを開き、コマンドを実行し、タブを開いたままにします
いくつかのターミナルタブを起動し、各タブで何かを実行し、コマンドの終了後に各タブを開いたままにするコマンドを記述しようとしています。そのため、出力を見て各タブにさらにコマンドを入力できます。 このようなもの: gnome-terminal --tab -e "ls -a" --tab -e "ls" しかし、これに関する問題は、「ls」コマンドが終了するとすぐにタブが閉じることです。誰でもタブを開いたままにする方法を知っていますか?


5
変数がシェルの数値と等しいかどうかをテストする方法
このシェルスクリプトが機能していません。 入力: Server_Name=1 if [ $Server_Name=1 ]; then echo Server Name is 1 else echo Server Name is not 1 fi 出力: Server Name is 1 しかし、私がを変更するServer_Name=2と、出力は次のようになります。 Server Name is 1 に変更Server_Nameしたときに2、次のように伝えますServer Name is 2。 私はそれがif [ $Server_Name=1 ];一部であることを知っています。 どうすれば修正できますか?


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