On Thu, 2021-03-18 at 21:35 -0400, Scott Andrews wrote:
> 
> Found something interesting....
> 
> Per the gnu bash reference manual......
> 
> -f file
>  True if file exists and is a regular file.
> 
> -h file
> True if file exists and is a symbolic link.
> 
> -x file
>  True if file exists and is executable.
> 
> Function as built from rc
> 
> check_script_status()
> {
>    # $i is set when called
>    if [ ! -f ${i} ]; then
>       log_warning_msg "${i} is not a valid symlink." 
>       SCRIPT_STAT="1"
>    fi
> 
>    if [ ! -x ${i} ]; then
>       log_warning_msg "${i} is not executable, skipping."
>       SCRIPT_STAT="1"
>    fi
> }
> 
> 
> So the construct/function in rc should be 
> 
> check_script_status()
> {
>    # $i is set when called
>    if [ ! -x ${i} ]; then
>       log_warning_msg "${i} is either missing and or not executable,
>       skipping." SCRIPT_STAT="1"
>    fi
> }
> 
> This check is meaningless and misleading
> 
> if [ ! -f ${i} ]; then
>       log_warning_msg "${i} is not a valid symlink." 
>       SCRIPT_STAT="1"
> fi
> 
> You are not checking for a symlink that would be 
> if [ ! -h ${i} ]; then if you were testing for a symlink
> 
> So it should stand as....
> 
> # Checks for a symlink and the file it points to exist
> # and is executable.
> # Called: check_script_status <symlink>
> # where <symlink> is a "pointer" to the script to check
> # Sets: Local SCRIPT_STAT, "0" = OK, "1" = FAILURE
> #
> function check_script_status {
>    local i="${1}"
>    # initialize status as "OK"
>    SCRIPT_STAT="0"
>    if [[ ! -h "${i}" ]]; then
>       log_warning_msg "${i} is not a valid symlink." 
>       SCRIPT_STAT="1"
>    fi
>    if [[ ! -x "${i}" ]]; then
>       log_warning_msg "${i} is not executable, skipping."
>       SCRIPT_STAT="1"
>    fi
>    return
> }
> 
> That is if one really wanted to check the symlink and if the file 
> pointed to by the symlink exists and is executable.
> 
> 
> Pierre Labastie:
> 
> You stated.....
> 
> "It's preferable to use quotes around any variable you do not know in
> advance: script="$1" "
> 
> So how come the rc script (as above, cut and pasted from the rc
> script himself ) is the same as the example I posted ?
> 
> You see the variable in 'if [ ! -h ${i} ]; then' (copied and pasted
> from the current script rc) would then suffer the same breakage.
> 
> Now I am not disagreeing with you, but on the contrary, if you are
> correcting some one should the boot scripts not follow your example?
> 
> The code fragment I posted previously was only an example for
> discussion and certainly not production code.
> 
> Hence this is one of the reasons I stated that the boot scripts needs
> a general cleanup and if cleaning them up a standard format.
> 

I've never said boot scripts were well written! And actually, I've not been
involved in writing them. I just use them and they just work, so I've never felt
the need to modify them. I'm glad you endeavor doing so. That's why I made those
style points, because I think it would be a good opportunity to fix them too.

Pierre

-- 
http://lists.linuxfromscratch.org/listinfo/lfs-support
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Do not top post on this list.

A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing in e-mail?

http://en.wikipedia.org/wiki/Posting_style

Reply via email to