以下は basename コマンドをシェル関数として実装するものです。 # basename command as shell function function basename { case $# in 1) ;; 2) eval set ¥${1%$2} ;; *) echo Usage: $0 pathname '[suffix] ' return 1 ;; esac echo ${1##*/} return 0 } ファイル sh_history デ...
はじめにこの記事では、僕がよく使用しているシェルスクリプトの雛形について紹介します。コード#!/bin/bash# Description:# TODO: スクリプトの目的や実行する処理の…
#! /bin/sh CMD=`basename $0` DIR=`dirname $0` EXEC= for isa in `/usr/bin/isalist`; do if [-x ${DIR}/${isa}/${CMD}]; then EXEC=${DIR}/${isa}/${CMD} break fi done if [-z "${EXEC}"]; then echo 1>&2 "$0: no executable for this architecture" exit 1 fi exec $...
シェルスクリプトでは基本的に1つの行に1つのコマンドを書いていきますが、この時改行が1つのコマンドを区切る役割を果たしています。そのため、コマンドの途中で改行を入れることはできません。ただし、行末に\を書くことで、改行をまたいで1つのコマンドとして実行することも可能です。
makefile.inc を作成し、次のコードをコピーします。 コピー # makefile.inc -- Include this file into existing makefile at the very top. # _VC_MANIFEST_INC specifies whether build is incremental (1 - incremental). # _VC_MANIFEST_BASENAME specifies name of a temporary resource file. !if...
#! /bin/sh CMD=`basename $0` DIR=`dirname $0` EXEC= for isa in `/usr/bin/isalist`; do if [-x ${DIR}/${isa}/${CMD}]; then EXEC=${DIR}/${isa}/${CMD} break fi done if [-z "${EXEC}"]; then echo 1>&2 "$0: no executable for this architecture" exit 1 fi exec $...