アプリ版:「スタンプのみでお礼する」機能のリリースについて

bashで以下のような変数にブランクがあるかif文でチェックする方法を教えて下さい。
※カッコ[]は分かりやすくする為記載してます
echo ${SAMPLE}
結果1:[sample ] ※最後にブランク有
結果2:[ sample] ※最初にブランク有
結果3:[sam ple] ※途中にブランク有
上記のパターンで真となるようなもの。
以下は偽
echo ${SAMPLE}
結果:[sample] ※ブランク無

A 回答 (3件)

余計なことでしたらお許しください。

ご自身で何かしらのプログラムを作ったほうが柔軟的で早いのではないかと思うのですが...

#include <stdio.h>

int main ( int argc, char *argv[] )
{
int ret = 1;
if ( 2 == argc ) {
  char *pt = argv [ 1 ];
  if ( 0 != *pt ) {
    int i = 0;
    while ( 0 != *(pt + i ) ) {
     if ( ' ' == *(pt + i) ) {
       ret = 1;
       break;
       }
     else
       ret = 0;
       i++;
       }
     }
  else
    printf ( "Err1\n" );
    }
else
  printf ( "Err2\n" );

printf ( "Ans = %d\n", ret );
return ( ret );
}

% gcc test.c
% ./a.out "sample "
Ans = 1
% ./a.out " sample"
Ans = 1
% ./a.out "sam ple"
Ans = 1
% ./a.out ""
Err1
Ans = 1
% ./a.out
Err2
Ans = 1
% ./a.out "sample"
Ans = 0
%
    • good
    • 0
「bashの変数でブランクがあるかチェック」の回答画像2
    • good
    • 0

echo "${SAMPLE}" | grep ' ' > /dev/null 2>&1 ; RESULT=$? ; ...


とか?
もっとうまい方法がありそうな気もするけど。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!