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

bashシェル言語で記述されたスクリプト。ほとんどの質問では、代わりにタグ/ bashおよび/ shell-scriptを使用する必要があります。

4
/ dev / nullへのリダイレクト
私はサンプルのbashシェルスクリプトを読んでいます: #!/bin/bash # This script makes a backup of my home directory. cd /home # This creates the archive tar cf /var/tmp/home_franky.tar franky > /dev/null 2>&1 # First remove the old bzip2 file. Redirect errors because this generates some if the archive # does not exist. Then create a new …
144 bash-script  null 

3
単一行のbashループで&(アンパサンド)を使用する
私はこのコマンドを正常に使用しています。このコマンドは、構成ファイル内の変数を変更し、ループ内でPythonスクリプトを実行します。 for((i=114;i<=255;i+=1)); do echo $i > numbers.txt;python DoMyScript.py; done それぞれDoMyScript.pyが終了する前に実行するのに約30秒かかるので、次のものをスポーンできるようにしながら、それらをバックグラウンドに委ねたいと思います。 以下のようにアンパサンドを追加することで、私がよく知っていることを試しました for((i=114;i<=255;i+=1)); do echo $i > numbers.txt;python DoMyScript.py &; done ただし、これにより以下のエラーが発生します。 -bash:予期しないトークン `; 'の近くの構文エラー


3
コマンドとしての変数; eval vs bash -c
私が作っbashスクリプトの誰かに読んでいたし、私は著者がコマンドとして変数を評価するためにevalを使用していないことに気づいた 著者が使用します bash -c "$1" の代わりに eval "$1" evalを使用することが推奨される方法であり、おそらくいずれにせよ高速であると思います。本当? 2つの間に実際的な違いはありますか?両者の顕著な違いは何ですか?

5
LinuxとMac OSのBash
iMacを購入しています。私は長い間Linuxに取り組んでおり、たくさんのbashスクリプトを作成しています。すべてのbashコマンドと機能がMac OSで利用できるかどうか疑問に思っていましたか?Mac bashスクリプトの経験はありますか?ご意見ありがとうございます。
27 osx  bash-script 


6
Un * x用のよく知られ、よく使用されているシェルスクリプトIDEはありますか?
シェルスクリプト、特にbashおよびzshスクリプトを対象としたIDEはありますか?これは、Python、Java、Cなどの通常のプログラミング言語で使用可能なものと同様に、シェルスクリプトの構文ハイライトを備え、さらに重要なことに、ブレークポイント、変数の検査や変更などの機能を備えた環境をデバッグすることを意味します たとえば、Microsft WindowsのPowerShellは、同様のIDE持ち PowerShellのプラスとは、Powerguiを。 組み合わせ育てグーグル殻、シェルスクリプトを編集するためのEclipseプラグイン、および BashEclipse、殻と連携バッシュデバッガを、まだ試していません。 このコンボに似たUn * x用の他のシェルスクリプトIDEはありますか?誰かがそれらを使った経験がありますか?
23 bash-script  ide 

9
他の言語のように引数を取るbash関数?
$PATHこのように設定するbash関数があります- assign-path() { str=$1 # if the $PATH is empty, assign it directly. if [ -z $PATH ]; then PATH=$str; # if the $PATH does not contain the substring, append it with ':'. elif [[ $PATH != *$str* ]]; then PATH=$PATH:$str; fi } しかし、問題は、変数ごとに異なる関数を作成する必要があることです(たとえば、$CLASSPATHlike assign-classpath()などの別の関数)。bash関数に引数を渡す方法を見つけることができなかったため、参照でアクセスできます。 次のようなものがあればもっといいでしょう- assign( bigstr, substr ) …
17 bash  bash-script 


5
Bash:タイプ(Bashビルトイン)の使用とは何ですか?
私が見つけたBashスクリプトのコマンドに出会いました: find /var/log/abcd -type f 上記のコマンドは、ログファイルのクリーニングに関連しています。私は何をするのか知ってfindいます。 を見て-type f、マニュアルページを探しました。BASH_BUILTINS(1)の manページで見ることができました typeコマンドでの-fフラグの説明は次のとおりです。 The -f option suppresses shell function lookup, as with the command builtin. 以下は私の質問です。 の使用はtype何ですか? -f旗の意味は何ですか? typewith findコマンドの使用法は何ですか? [編集]:-これまでのすべてのコメントと回答を読んだ後、-type option in command findVsの誤解の原因について言及したいと思いtype commandます。これは、すべて私が想定したために起こったと日付までだけ短いオプション(の場合のテスト見ているfindと、コマンド)-シングルマイナス記号「」、例をls -l。ほとんどの時間の私が持つ長いオプション見てきました「 - 」二重のマイナス記号、一例を、ls --version。
16 bash  bash-script 

1
関数パラメーターによって提供されるコマンドを実行する
パラメーターによってメソッドに提供されるコマンドを実行するbashスクリプトで関数メソッドを作成しようとしています。 次のような意味: special_execute() { # Some code # Here's the point where the command gets executed $@ # More code } special_execute echo "abc" 私はすでに私が試した$@、"$@"、$*、"$*"私はそれをどのように行うことができますか?

1
stdoutからカラーコードを取り除き、ファイルとstdoutにパイプする方法
私はprintfいくつかのtput混合物を使用するプログラムを持っているので、出力を標準出力とファイルにパイプしたいと思います。sedスクリプトに不要な依存関係が必要ないため、使用したいと思います。これが私がこれまでに得たものです。 printf "\n$(tput setaf 6)| $(tput sgr0)$(tput setaf 7)Sourcing files...\033[m\n" | tee install.log これに関する唯一の問題は、私のログファイルがすべてのカラー出力を取得していることです... ^[[36m| ^[(B^[[m^[[37mSourcing files...^[[m ただ持ってほしい | Sourcing files...

2
bashスクリプトの正規表現
これは初めてのbashスクリプトなので、たぶん簡単な間違いを犯しているでしょう。 基本的に、ユーザーのグループを取得するスクリプトを作成しようとしています。特定のグループに属している場合、それに応じてログに記録します。明らかに、より多くの機能がありますが、正規表現を動作させることさえできないとき、それを構築する意味はありません! これまでのところ、私はこれを持っています: #!/bin/bash regex="^([a-zA-Z0-9\-_]+ : [a-zA-Z0-9\-_]+) (usergroup)$" # example output groups="username : username usergroup" echo "$groups" >> /home/jrdn/log if [[ "$groups" =~ $regex ]]; then echo "Match!" >> /home/jrdn/log else echo "No match" >> /home/jrdn/log fi 私がその正規表現を試したすべての場所、それは動作します。しかし、bashスクリプトでは$groups、が出力された後にのみが出力されNo matchます。だから誰かが私に何が悪いのか教えてもらえますか?

3
「マウス移動」を使用した画面の非表示を防止するスクリプトが機能しない
これは、動画を見ているときに画面が空白にならないようにする「マウスの動き」を使用するスクリプトを作成する私の試みです。で最も高いCPU%プロセスの値を使用したいと考えていますtop。CPU使用率が5%を超えると、マウスが移動するはずです。 #!/usr/bin/env bash sleep_period=60s while true; do if (( $(top -bn 1 | sed -nrs '8p' | awk '{ print $9 }') -gt 5 )); then while (( $(top -bn 1 | sed -nrs '8p' | awk '{ print $9 }') -gt 5 )); do xdotool mousemove 0 100 xdotool …

2
bashスクリプトでグラフィカルにパスワードを要求し、デフォルトのsudoタイムアウト設定を保持する
sudo -A(SUDO_ASKPASS)オプションは、明らかな原因は、タイムアウト(例えば、timestamp_timeout)の設定を失うことSUDO。 sudo -Aオプションを使用したいが、bashスクリプトでデフォルトのタイムアウト(Ubuntuでは15分など)を保持したい。ユーザーのパスワードを安全にGUIダイアログで要求したいのですが、スクリプトの入力を1回だけ要求します(50回以上は要求しません)。 さらに、スクリプト全体をrootユーザーとして実行したくありません。これは悪い考えです。さらに、この場合、私のスクリプトによって作成されたファイルの所有権は正しくありません。 sudo -Aオプションは、デフォルトのタイムアウトを保持している場合は機能します。 sudoマニュアルから: オプション:‑A 通常、sudoがパスワードを必要とする場合、ユーザーの端末からそれを読み取ります。‑A(askpass)オプションを指定すると、(おそらくグラフィカルな)ヘルパープログラムが実行され、ユーザーのパスワードが読み取られ、パスワードが標準出力に出力されます。SUDO_ASKPASS環境変数が設定されている場合は、ヘルパープログラムへのパスを指定します。それ以外の場合、/ etc / sudo.confにaskpassプログラムを指定する行が含まれていれば、その値が使用されます。例えば: # Path to askpass helper program Path askpass /usr/X11R6/bin/ssh-askpass ちなみに、kdesudoにも同じ問題があります。たとえ同じスクリプトで1秒後でも、呼び出されるたびにパスワードが必要です。 Kubuntu 12.04 64ビットを使用しています。 以下は、ソリューションのすべての部分の完全に機能する例です。これは、bashスクリプト、ここで提案されている「myaskpass」スクリプト、および「.desktop」ファイルで構成されています。すべてが100%GUIである必要があります(端末の相互作用はまったくありません)。したがって、.desktopファイルは不可欠です(afaik)。 $ cat myaskpass.sh #!/bin/bash kdialog --password "Please enter your password: " exit 0 $ cat askpasstest1.desktop #!/usr/bin/env xdg-open [Desktop Entry] Comment=SUDO_ASKPASS tester1 Exec=bash …

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