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

Bashコマンドシェル用に記述されたスクリプトに関する質問。エラー/構文エラーのあるシェルスクリプトについては、ここに投稿する前に、shellcheckプログラム(またはhttps://shellcheck.netのWeb shellcheckサーバー)で確認してください。Bashのインタラクティブな使用に関する質問は、スタックオーバーフローよりもスーパーユーザーで話題になる可能性が高くなります。

13
Bashループのカウンターの増分が機能しない
ループを実行していて、を維持したい次の簡単なスクリプトがありCOUNTERます。カウンターが更新されない理由を理解できません。サブシェルが作成されるためですか?どうすればこれを修正できますか? #!/bin/bash WFY_PATH=/var/log/nginx WFY_FILE=error.log COUNTER=0 grep 'GET /log_' $WFY_PATH/$WFY_FILE | grep 'upstream timed out' | awk -F ', ' '{print $2,$4,$0}' | awk '{print "http://domain.com"$5"&ip="$2"&date="$7"&time="$8"&end=1"}' | awk -F '&end=1' '{print $1"&end=1"}' | ( while read WFY_URL do echo $WFY_URL #Some more action COUNTER=$((COUNTER+1)) done ) echo $COUNTER # output = …
125 linux  bash  shell  scripting  counter 

11
Unix-フォルダーとファイルのパスを作成する
私はあなたがmkdirディレクトリtouchを作成し、ファイルを作成するためにできることを知っていますが、両方の操作を一度に行う方法はありませんか? つまり、フォルダotherが存在しないときに以下を実行したい場合: cp /my/long/path/here/thing.txt /my/other/path/here/cpedthing.txt エラー: cp: cannot create regular file `/my/other/path/here/cpedthing.txt': No such file or directory 誰かがこれの回避策として機能を考え出しましたか?
125 linux  bash  shell  unix  scripting 

8
シェルで文字列の最後の文字を取得する方法は?
文字列の最後の文字を取得するために、次の行を記述しました。 str=$1 i=$((${#str}-1)) echo ${str:$i:1} それはのために働きabcd/ます: $ bash last_ch.sh abcd/ / 次の場合は機能しませんabcd*。 $ bash last_ch.sh abcd* array.sh assign.sh date.sh dict.sh full_path.sh last_ch.sh 現在のフォルダ内のファイルが一覧表示されます。
125 string  bash  shell 

9
Dockerコンテナーから環境変数を取得する
Dockerfileで宣言されていないdockerコンテナーから環境変数を取得する最も簡単な方法は何ですか? たとえば、いくつかのdocker exec container /bin/bashセッションを通じて設定された環境変数ですか? できdocker exec container env | grep ENV_VARますが、値を返すだけのほうがいいです。 私はを使用してみましたdocker exec container echo "$ENV_VAR"が、置換はコンテナーの外で行われているようです。そのため、コンテナーからenv変数を取得するのではなく、自分のコンピューターからenv変数を取得します。 ありがとう。

6
bashシェルスクリプトの起動が遅いのをプロファイルする方法は?
私のbashシェルは起動に最大3〜4秒かかりますが、起動すると--norcすぐに実行されます。 私は「プロファイリング」を開始/etc/bash.bashrcし~/.bashrc、手動でreturnステートメントを挿入して速度の向上を追求しましたが、これは定量的なプロセスではなく、効率的ではありません。 bashスクリプトのプロファイルを作成し、起動に最も時間がかかるコマンドを確認するにはどうすればよいですか?
124 bash  profiling 


4
別のページからのログインが必要なページにアクセスするためのCURL
私は2ページxyz.com/aありxyz.com/bます。最初xyz.com/bにログインした場合にのみアクセスできますxyz.com/a。xyz.com/b他を経由せずにアクセスした場合、ブラウザからアクセスが拒否されます(ログインへのリダイレクトなし)。にログインxyz.com/aすると、もう一方にアクセスできます。 私の問題は、curlコマンドを使用してこれを行うことです。xyz.com/acurl を使用して正常にログインできますが、試行するxyx.com/bとアクセスが拒否されます。 私は以下を使用します: curl --user user:pass https://xyz.com/a #works ok curl https://xyz.com/b #doesn't work ユーザー/パスワードの部分なしで&を使用して2行目を使用しようとしましたが、それでも機能しません。両方のページで同じCAを使用しているため、問題ありません。助言がありますか?ありがとう

6
IFS = $ '\ n'の正確な意味は何ですか?
IFS環境変数を改行文字に設定する次の例の場合... IFS=$'\n' 何をしないドル記号は意味 を正確に? この特定のケースでは何をしますか? この特定の使用法の詳細はどこで確認できますか(Googleは検索で特殊文字を許可しておらず、他に何を探すべきかわかりません)? IFS環境変数と\n文字(ラインフィード)は知っていますが、次の形式を使用しないのはなぜ IFS="\n"ですか(これは機能しません)? たとえば、ファイルのすべての行をループしてforループを使用したい場合は、次のようにします。 for line in (< /path/to/file); do echo "Line: $line" done ただし、がIFS改行文字に設定されていない限り、これは正しく機能しません。これを機能させるには、次のようにする必要があります。 OLDIFS=$IFS IFS=$'\n' for line in (< /path/to/file); do echo "Line: $line" done IFS=$OLDIFS 注:同じことをするのに別の方法は必要ありません。他にもたくさん知っています...私はそれについて知りたいだけで$'\n'、誰かが私にそれについて説明してくれるかどうか疑問に思っています。


7
Bashを使用して文字列内の文字の出現をカウントする
Bashを使用して文字列内のcharの出現回数を数える必要があります。 次の例では、チャー(例えば)である場合、tそれは、echosはの出現の正確な数tでvarはなく、文字はコンマまたはセミコロンである場合、それはゼロを出力します: var = "text,text,text,text" num = `expr match $var [,]` echo "$num"
123 bash  shell  sh 

7
macOSターミナルでファイルの名前を一括変更する方法
次の名前の一連のファイルを含むフォルダがあります。 prefix_1234_567.png prefix_abcd_efg.png 出力が次のようになるように、1つのアンダースコアと中間のコンテンツを一括削除したいと思います。 prefix_567.png prefix_efg.png 関連するが完全に説明的ではない: ターミナルを使用してファイルの名前を一括変更するにはどうすればよいですか? OS Xターミナルでファイルの名前を一括変更する正規表現

5
パスからディレクトリを抽出
私のスクリプトでは、作業しているファイルのディレクトリが必要です。たとえば、file = "stuff / backup / file.zip"です。変数から文字列「stuff / backup /」を取得する方法が必要です$file。
123 string  bash  path 

11
bashでのnoop [:]の使用例は何ですか?
bash(:)でnoopを検索しましたが、適切な情報を見つけることができませんでした。このオペレーターの正確な目的またはユースケースは何ですか? 私は以下を試してみましたが、それは私にとってはこのように機能しています: [mandy@root]$ a=11 [mandy@root]$ b=20 [mandy@root]$ c=30 [mandy@root]$ echo $a; : echo $b ; echo $c 10 30 このオペレーターの使用例をリアルタイムで、または使用が義務付けられている場所に教えてください。
123 bash  shell  noop 

8
Bash内でEmacsを開く方法
Ubuntu 11.10を使用しています。端末でコマンド「emacs」を入力すると、emacsが別のウィンドウとして開きます。nanoエディターのように、ターミナル内で開くにはどうすればよいですか?
122 bash  emacs 

15
すべてのファイルの末尾の空白を再帰的に削除する方法は?
プロジェクト全体の末尾の空白をすべて削除するにはどうすればよいですか?ルートディレクトリから開始し、すべてのフォルダ内のすべてのファイルから末尾の空白を削除します。 また、すべてをstdoutに出力するだけでなく、ファイルを直接変更できるようにしたいと考えています。
122 bash  whitespace 

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