' 사이에 변수를 사용하세요.

' 사이에 변수를 사용하세요.

元の行の1つには、次のbashスクリプトがあります。

convert '%d.jpg[1-300]' combined.pdf

Imagemagickの変換を使用して、順番に番号付けされた複数のjpgをPDFにマージします。

変更可能なページ数のユーザー入力を受け入れる基本スクリプトを作成し、スクリプトの実行中にread -pを使用して300をユーザー設定変数に置き換えました。これにより、以下を達成しました。

convert '%d.jpg[1-$pages]' combined.pdf

スクリプトの残りの部分はうまく機能しますが、この行では失敗しますが、その理由はわかりません。どんな提案がありますか?

私はこれが間違った区切り文字に関連していると思いますが、見つけるべき正しいことがわかりません。

ベストアンサー1

매개변수 확장은 작은따옴표 내에서 수행되지 않습니다. 그러나 큰따옴표 내에서 실행되므로 다음과 같습니다.

convert "%d.jpg[1-$pages]" combined.pdf

[어떤 경우든 대부분의 쉘에서 glob 연산자가 특별하기 때문에 어떤 형태의 인용이 필요합니다 ( fish이것은 주목할만한 예외이지만 fish어쨌든 이전 버전에서는 특별합니다 ). 그리고 인용되지 않은 것을 제외한 %모든 Bourne과 유사한 쉘에서 zsh인수 확장은 분할+glob의 영향을 받으며 이는 바람직하지 않습니다.

おすすめ記事