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

変数は、1つまたは複数の値を保持する、記号的な意味で正しく選択された場合の名前です。質問がシェルスクリプトでの変数の使用に固有の場合は、このタグを使用します(プログラミング言語の変数について質問する場合は、おそらくStackOverflowで質問する必要があります)

4
別のスクリプトのコンテンツとして使用するために変数をエスケープします
この質問は、適切にエスケープされた文字列リテラルの書き方に関するものではありません。スクリプト内または他のプログラムで直接使用するために変数をエスケープする方法に関するものではない関連する質問は見つかりませんでした。 私の目標は、スクリプトが他のスクリプトを生成できるようにすることです。これは、生成されたスクリプト内のタスクが別のマシン上で0 回からn回実行され、それらの生成元のデータが実行前に(再び)変更される可能性があるため、ネットワークを介して直接操作を行うためですうまくいかない。 単一引用符などの特殊文字を含む可能性がある既知の変数がある場合、完全にエスケープされた文字列リテラルとして書き出す必要があります。たとえば、生成されたスクリプトにfoo含まれる変数bar'bazは次のようになります。 qux='bar'\''baz' これは"qux=$foo_esc"、スクリプトの他の行に追加することによって書き込まれます。私はこのようにPerlを使用してそれをやった: foo_esc="'`perl -pe 's/('\'')/\\1\\\\\\1\\1/g' <<<"$foo"`'" しかし、これはやり過ぎのようです。 私はbashだけでそれを行うことに成功していません。私はこれらの多くのバリエーションを試しました: foo_esc="'${file//\'/\'\\\'\'}'" foo_esc="'${file//\'/'\\''}'" しかし、余分なスラッシュが出力に表示されるか(私が実行した場合echo "$foo")、構文エラーが発生します(シェルから実行された場合、さらに入力が必要になります)。



2
bash変数に画像ファイルを保存する方法は?
次のコマンドを使用した後、 pngString="$(cat example.png)" echo -n "$pngString" > tmp.png tmp.pngをPNGファイルとして開くことができません。$pngString画像ファイルの保存に使用すると、一部の情報が失われる場合があります。 質問は次のとおりです。bashスクリプトの変数を使用して完全な画像情報を保存するにはどうすればよいですか。
14 bash  cat  images  binary  variable 

4
シェルスクリプトを使用して変数のコンテンツを印刷することはできますか?(間接参照)
次の変数を宣言したとしましょう。 $ var='$test' $ test="my string" コンテンツを印刷すると、次のように表示されます。 $ echo $var $test $ echo $test my string のコンテンツ$var(のコンテンツ)を印刷する方法を見つけたい$testです。だから私は次のことをしようとしました: $ echo $(echo $var) $test しかし、ここで結果はそうでは$testありません"my string"... bashを使用して変数の内容の内容を印刷することは可能ですか?

8
単語による変数の内容の反転
だから変数を持っているなら VAR='10 20 30 40 50 60 70 80 90 100' エコーします echo "$VAR" 10 20 30 40 50 60 70 80 90 100 ただし、スクリプトをさらに下に移動すると、この変数の順序が逆になり、次のように表示されます。 echo "$VAR" | <code to reverse it> 100 90 80 70 60 50 40 30 20 10 revを使用してみましたが、文字通りすべてが逆転したため、 echo "$VAR" | rev 001 09 08 …
13 linux  bash  shell  variable 

2
変数はcdに「〜」をどのように使用できますか?
$BASECDで変数を使用するにはどうすればよいですか。私は次を試しましたが、エラーが発生します $ cd ~/z/repo_1_ruby_193/ 23:23:57 durrantm Castle2012 /home/durrantm/z/repo_1_ruby_193 $ BASE="~/z" 23:24:03 durrantm Castle2012 /home/durrantm/z/repo_1_ruby_193 $ cd $BASE/repo_1_ruby_193 -bash: cd: ~/z/repo_1_ruby_193: No such file or directory 23:24:25 durrantm Castle2012 /home/durrantm/z/repo_1_ruby_193

2
バッシュでローカル変数をインクリメントする方法は?
データ 1 \begin{document} 3 コード #!/bin/bash function getStart { local START="$(awk '/begin\{document\}/{ print NR; exit }' data.tex)" echo $START } START2=$(getStart) echo $START2 戻ります2が欲しいです3。私はbashスクリプトに数値を追加するにはどうすればよいかについてのこの答えによって失敗に終わりました: START2=$((getStart+1)) Bashスクリプトでローカル変数をインクリメントするにはどうすればよいですか?


1
デバッグ用のBash変数の展開を参照してください?
変数を展開してbashコードを読みやすくするためのツール/トリックはありますか? たとえば、次を変換します。 DIR=/var/tmp FILE=${DIR}/file SCRIPT_ROOT=/opt/root TOOL=${SCRIPT_ROOT}/tool.sh ${TOOL} ${FILE} に: DIR=/var/tmp FILE=/var/tmp/file SCRIPT_ROOT=/opt/root TOOL=/opt/root/tool.sh /opt/root/tool.sh /var/tmp/file 私はBASHコードをPythonに変換していますが、BASH構文を読むのは面倒です。

4
bash動的(変数)変数名
要素の配列を操作して、文字列のシーケンスを動的に作成し、算術手続きを作成したい。 for name in FIRST SECOND THIRD FOURTH FIFTH; do $name = $(( $6 + 1 )) $name = "${$name}q;d" echo "${$name}"; printf "\n" done 欲望の結果は、$6equalsの場合以下になり0ます。 1q;d 2q;d 3q;d 4q;d 5q;d しかし、私はこのエラーを受け取ります reel_first_part.sh: line 18: FIRST: command not found reel_first_part.sh: line 19: ${$name}q;d: bad substitution reel_first_part.sh: line 18: FIRST: command …
12 bash  variable 

7
bashまたはzshでシェル変数をシリアル化する
シェル変数をシリアル化する方法はありますか?変数があり$VAR、それをファイルなどに保存して、後で同じ値を取得するために読み直したいとしますか? これを行うポータブルな方法はありますか?(私はそうは思わない) bashまたはzshでそれを行う方法はありますか?
12 bash  shell  zsh  variable 


5
シェルコマンドの出力の文字数
コマンドの出力の文字数を1ステップで計算する必要があるスクリプトを書いています。 たとえば、コマンドの出力は10文字なので、コマンドを使用するreadlink -f /etc/fstabと戻り10ます。 これは、次のコードを使用して、格納された変数ですでに可能です。 variable="somestring"; echo ${#variable}; # 10 残念ながら、コマンドで生成された文字列で同じ数式を使用しても機能しません。 ${#(readlink -f /etc/fstab)}; # bash: ${#(readlink -f /etc/fstab)}: bad substitution 私は最初に出力を変数に保存することでこれを行うことが可能であることを理解しています: variable=$(readlink -f /etc/fstab); echo ${#variable}; しかし、私は余分なステップを削除したいと思います。 これは可能ですか?組み込みまたは標準のユーティリティのみを使用したAlmquistシェル(sh)との互換性が推奨されます。
12 shell  string  variable 

2
パイプ(|)を変数に格納する方法は?
アイデアは、それを...コマンドのパイプとして使用することです。たとえば、何度もタイプし直さなければならないある種の長いパスがあり、その後にパイプと2番目のプログラムが続くとします。 "directory1/directory2/direcotry3/file.dat | less -I " その部分を変数に格納したいので、次のように使用できます。 r="directory1/directory2/direcotry3 \| less -I -p " $ cat path1/path2/$r <searchterm> 代わりに、私は得る cat: invalid option -- I Try `cat --help' for more information. ...パイプが明らかに機能しなかったことを意味します。
12 bash  pipe  variable 

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